asp.net-mvc - 字符串中的 Razor 变量未正确呈现

标签 asp.net-mvc asp.net-mvc-3 razor

@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 的帖子这表明这种做法是正确的。你知道我做错了什么吗?

最佳答案

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

关于asp.net-mvc - 字符串中的 Razor 变量未正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203087/

相关文章:

javascript - 从 javascript 函数调用 razor c# 函数

razor - 如何在 ServiceStack 中正确本地化 Razor View

javascript - 如何在 WebMatrix 站点的服务器端使用 JavaScript

asp.net-mvc - Automapper 从嵌套类映射到单个(展平)

asp.net-mvc - MVC 3 远程验证字段具有复杂的名称

c# - 使用 Razor/MVC3 将 AssemblyVersion 放入网页时出现问题

c# - 在布局 View 上填充 ViewBag

c# - 更改 ASP.NET MVC 项目命名空间后出现编译错误?

c# - 传递实体,从 View 到 Controller

c# - 将默认选项添加到 SelectList - MVC3 C#