字符串中的Razor变量无法正确呈现

Dav*_*ich 2 asp.net-mvc razor asp.net-mvc-3

@using (Html.BeginForm())
{
    int controlWidth=250;
    @Html.TextBoxFor(m => m.studentFirstName, new { style = "width:@(controlWidth)px;" })
Run Code Online (Sandbox Code Playgroud)

此代码呈现为

            <input data-val="true" data-val-required="The Student First Name field is required." id="studentFirstName" name="studentFirstName" style="width:@(controlWidth)px;" type="text" value="" />
Run Code Online (Sandbox Code Playgroud)

可以理解,我希望它呈现为

            <input data-val="true" data-val-required="The Student First Name field is required." id="studentFirstName" name="studentFirstName" style="width:250px;" type="text" value="" />
Run Code Online (Sandbox Code Playgroud)

我见过像ASP.NET MVC Razor Concatenation这样的帖子,表明这种方法是正确的.我有什么想法我做错了吗?

Zee*_*Ali 5

我认为你不能这样做.内联模板只能在HTML中使用,<li style="@(controlWidth)">或者如果您的方法支持内联模板.有关如何编写支持内联模板的方法,请参见 http://vibrantcode.com/blog/2010/8/2/inside-razor-part-3-templates.html/.

  • 这里`id`不是.NET属性,而是`<li>`标签的属性 (2认同)