当前位置:编程学习 > C#/ASP.NET >>

熟悉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 : ""); --------------------编程问答--------------------
引用 1 楼  的回复:
...
@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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,