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

此代码呈现为

            <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="" />

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

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

我看过像ASP.NET MVC Razor Concatenation这样的帖子表明这种方法是正确的。任何想法我做错了什么?

4

1 回答 1

5

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

于 2012-08-30T18:38:29.617 回答