熟悉Razor的问个地方,应该如何写
<td>@{
string val1 = (Model != null) ? Model.Title : "";
@Html.TextBox("Title",val1, new { size = 50 });
}
<span style="color:Red">*</span>
</td>
我想把两句语句,写到一行,不想多写一个变量val1 ,用 razor 能做到吗? --------------------编程问答-------------------- ...
@Html.TextBoxFor(Model => Model != null) ? Model.Title : ""); --------------------编程问答--------------------
@Html.TextBoxFor(Model => Model != null) ? Model.Title : "");
多写了个左括号 --------------------编程问答--------------------
是右括号,反正多了括号,你去掉就好了 --------------------编程问答-------------------- 好像不行,我MODEL 是 从后台传过来的一个简单的对象类,title 是它的属性。
当我添加操作的时候,MODEL 是为空的。 所以这个时候 model.title 就肯定不对了。
而编辑的时候,我MODEL 是要编辑的对象,我需要在textbox 上显示title的原有内容。
而您写的
@Html.TextBoxFor((Model => Model != null) ? Model.Title : "");
在 lamable 表达式里,的Model 应该不是我从后台传递过来的MODEL吧。我可以写成
@Html.TextBoxFor((aa => aa != null) ? Model.Title : "");
但是,语法上都过不去。 --------------------编程问答-------------------- @Html.TextBoxFor((Model => Model != null ? Model.Title : "");
没问题啊,这个Model是你后台传过来的,其实Model != null ?.. 这个判断根本就不必要,TextBoxFor的作用就是和后台对应的数据关联,有就绑定,没有就为空,这样就可以了:
@Html.TextBoxFor(Model=>Model.Title); --------------------编程问答-------------------- 兄弟,真不行,能加一下QQ 远程指导一下吗?多谢! QQ 5025622 --------------------编程问答-------------------- ...,公司不让登QQ,Razor和MVC的基本语法什么的都是相通的,把你代码贴出来看一下
补充:.NET技术 , ASP.NET