-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_text-first.cshtml
More file actions
56 lines (52 loc) · 2.35 KB
/
_text-first.cshtml
File metadata and controls
56 lines (52 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@using Connect.Razor.Blade;
<div>
return to <a href="@Link.To()">overview</a>
</div>
<h1 class="sc-element">
Razor Blade Text.First
@Edit.Toolbar(Content)
</h1>
<div>
These demos show how to get the first <em>real</em> text of a series of values. Basically it will ignore nulls, empty texts, space-strings and even combinations containing empty lines, html-nbsps and more.
</div>
@{
var val1 = "John";
var val2 = "Michael";
var spc = " ";
var fallback = "please-enter-name";
var nbsp = " ";
}
<h2>Demos</h2>
<h3>Basic 2-Value Demos</h3>
<p>
Note that the code you see on the output page is so you understand what it's running, sometimes it contains comments or something which of course are not in the real code.
</p>
<ol>
<li>Text.First(null, @val1): @Text.First(null, val1)</li>
<li>Text.First(null, null): @Text.First(null, null)</li>
<li>Text.First(@val1, @val2): @Text.First(val1, val2)</li>
<li>Text.First("@spc" = 3 spaces, @val1): @Text.First(spc, val1)</li>
<li>Text.First(null, @fallback): @Text.First(null, fallback)</li>
<li>Text.First(@nbsp, @fallback): @Text.First(nbsp, fallback)</li>
<li>Text.First(@nbsp, @fallback, false): @Text.First(nbsp, fallback, false) <br>
"false" means don't treat html-whitespace as whitespace, so @nbsp will be treated as a real value
</li>
</ol>
<h3>3-5 Value Demos</h3>
<p>
Text.First has overloads (multiple signatures) for up to 5 values, and another one accepting an array of string objects so you can even use it for 10 values if you really need it.
</p>
<ol>
<li>Text.First(null, @val1, @fallback): @Text.First(null, val1, fallback)</li>
<li>Text.First(null, @val1, @val2, @fallback): @Text.First(null, val1, val2, fallback)</li>
<li>Text.First(null, @nbsp, @val1, @val2, @fallback): @Text.First(null, nbsp, val1, val2, fallback)</li>
<li>Text.First(null, @nbsp, @val1, @val2, @fallback, false): @Text.First(null, nbsp, val1, val2, fallback, false)</li>
<li>
Text.First(new string[] { null, null, @nbsp, @val1, @val2, "@spc", @fallback}):
@Text.First(new string[] { null, null, nbsp, val1, val2, spc, fallback})
</li>
<li>
Text.First(new string[] { null, null, @nbsp, @val1, @val2, "@spc", @fallback}, false):
@Text.First(new string[] { null, null, nbsp, val1, val2, spc, fallback}, false)
</li>
</ol>