2016-09-29 38 views
0

我有一个表单,我希望输入的名称是变量表示的星期几,然后是Beg,例如如果它代表星期天它应该是SundayBeg。把第一个变量和文本放在一起

name='@l.Day"+ Beg"' 

我该怎么做?

+0

变种名称=的String.Format( “{0}求”,System.DateTime.Now.DayOfWeek) – Nair

回答

2

如果你只想把它变成像你比如一个字符串,并假设l.Day是要与“求”来串联值...

var name = $"{l.Day}Beg"; 

编辑:有人指出,字符串插值在Razor视图中播放效果不佳。我将这个例子留给子孙后代,但是从下面的例子中删除它。

或者,如果你不使用C#6 ...

var name = string.Format("{0}Beg", l.Day); 

然后你只需要你想去的地方显示的name值。根据你的例子,我猜你想要使用该值作为某个HTML元素的name属性。所以你可以这样做:

<input name="@name" ... /> 

你也可以做所有的内联代替使用变量。

<input name="@string.Format("{0}Beg", l.Day)" ... /> 
+0

我没有意识到他正在使用Razor语法 - 如果他要使用@name并在需要它的地方使用,我的答案也能起作用吗?总有一些方法可以做到! – confusedandamused

+0

当我尝试这个时,name =“@ $”{l.Day} Beg“”,我得到这个“$”在代码块的开始是无效的。但第二个工程。那谢谢啦!! –

+0

@confusedandamamused是的,这并不明显。我认识到的唯一原因是他用MVC标签发布了这个问题,以及他对@符号的使用。你也可以工作,但我认为在形成或构建或连接字符串时使用“+”很少是正确的。使用字符串插值或'string.Format()'是可取的。 –

0

var name = System.DateTime.Now.DayOfWeek + " Beg"

假设你正在使用的一周中的当前天。

Docs Here

+0

嗯我想我不清楚。不是一个变量。输入字段中的名称属性。 –

+0

ToString是多余的。 – CSharpie

+0

@CSharpie删除 - 谢谢! – confusedandamused