在MVC视图中读取非静态值

时间:2015-10-02 09:38:48

标签: asp.net-mvc asp.net-mvc-4 razorengine

如何使用Razor视图

在视图中读取非静态值
// MODEL
public int Number1 { get; set; }
public int Number2 { get; set; }

// VIEW
@using BasicCalculator.Events.Models;

@{   
 Layout = "~/Views/Shared/_Layout.cshtml";
}

@Html.TextBox("Number1",?????

我必须在视图中读取属性(Number1和Number2)...

3 个答案:

答案 0 :(得分:1)

您希望在传入表达式时使用绑定到模型的TextBoxFor

@Html.TextBoxFor(m => m.Number1)

但要执行此操作,您需要将using声明更改为model

@model BasicCalculator.Events.Models.YourModelName

答案 1 :(得分:1)

将您的@using更改为@model

@model BasicCalculator.Events.Models.YourModel

@Html.TextBoxFor(m => m.Number1)

答案 2 :(得分:0)

正如您在@CodeCaster的回答评论中所说,您的视图找不到@HTML的命名空间,当您导入System.Web.Mvc命名空间时,他无法识别.TextBox。

我建议你在View文件夹中找到你的Web.config文件。 在里面搜索标签。 确保视图中所需的所有命名空间都在那里。

你应该像以下一样思考:

<namespaces>
   <add namespace="System.Web.Mvc" />
   <add namespace="System.Web.Mvc.Ajax" />
   <add namespace="System.Web.Mvc.Html" />
   <add namespace="System.Web.Optimization"/>
   <add namespace="System.Web.Routing" />
</namespaces>

希望这可能有所帮助。