相关疑难解决方法(0)

模型绑定与禁用文本框

我有一个我定义为的文本框

<%= Html.TextBox("Username", Model.Form.Username, 
        new { @class = "textbox", @disabled = "disabled" })%>
Run Code Online (Sandbox Code Playgroud)

在我的行动中

    [AcceptVerbs(HttpVerbs.Post)]
    [ValidateAntiForgeryToken]
    public ActionResult EditLogin(LoginForm post) {

        ...

        return View(model);
    }
Run Code Online (Sandbox Code Playgroud)

post.Username将为空,所有其他属性绑定正确,但如果我将@disable ="disabled更改为@ readonly ="readonly"用户名绑定正确且一切正常.

看起来模型绑定忽略禁用字段中的值.他们是这样的吗?我仍然需要字段的值来绑定到模型.我可以使用readonly但更喜欢使用disabled,因此用户在视觉上可以看出他们无法编辑字段的值.

asp.net asp.net-mvc model-binding

40
推荐指数
4
解决办法
4万
查看次数

ASP.NET MVC Preview 5的Html.TextBox条件属性

我有一个强类型的MVC视图控件,它负责用户可以创建和编辑客户端项目的UI.我希望他们能够定义ClientId创建,但不能编辑,这将在UI中反映出来.

为此,我有以下几行:

<%= Html.TextBox("Client.ClientId", ViewData.Model.ClientId, new 
 { @readonly = 
   (ViewData.Model.ClientId != null && ViewData.Model.ClientId.Length > 0 
      ? "readonly" : "false") 
 } )
%>
Run Code Online (Sandbox Code Playgroud)

似乎无论我给readonly属性(甚至"false"和"")赋予什么值,Firefox和IE7都使输入成为只读,这是令人讨厌的反直觉.如果不需要,是否有一个很好的,基于三元运算符的方法来完全删除属性?

asp.net-mvc attributes html-helper readonly

30
推荐指数
3
解决办法
5万
查看次数