我有以下匿名类型:
new {data1 = "test1", data2 = "sam", data3 = "bob"}
Run Code Online (Sandbox Code Playgroud)
我需要一个方法来接受它,并在数组或字典中输出键值对.
我的目标是在HttpRequest中将其用作后期数据,因此我最终将连接到以下字符串中:
"data1=test1&data2=sam&data3=bob"
Run Code Online (Sandbox Code Playgroud) 我有一个ASP.Net MVC 3 Web应用程序,我正在使用HtmlHelper类向视图页面添加一个复选框,就像这样......
@Html.CheckBox("CheckBox1", true, new { @class = "Class1" })
Run Code Online (Sandbox Code Playgroud)
我想要做的是根据视图状态属性有条件地添加disabled属性.基本上以下是理想的......
@Html.CheckBox("CheckBox1", true, new { @class = "Class1", @disabled = Model.ReadOnly })
Run Code Online (Sandbox Code Playgroud)
遗憾的是,由于disabled属性的性质,这将不起作用,因为分配给disabled属性的任何值(甚至"false")都将转换为true.
我已经想到了一些解决这个问题的解决方案,所以问题不是我怎么能这样做.但是,有一种简单的方法,如上面所需的方法?或者我是否必须诉诸以下其中一项?
我知道我能做什么......
创建一个if/else语句并写入不同的Html.CheckBox行(对于可读性而言不是很好 - 并且可能会抛出标记警告 - 不确定)
跳过HtmlHelper类并手写标记以允许更好的条件属性(保持代码更短,但增加了不一致性)
创建一个自定义帮助程序,它采用"禁用"参数(最干净的解决方案,但需要不需要的额外方法 - 可能是目前为止最好的选择)
我有一个C#.Net网络应用程序.在该应用程序中,我需要根据登录系统的人有条件地禁用Html.TextBoxFor控件(也包括Html.DropDownListFor控件).我试过用
@Html.TextBoxFor(model => model.ProposalName, new { @ViewBag.IsDisabled })
Run Code Online (Sandbox Code Playgroud)
在Controller中@ViewBag.IsDisabled设置为String.Empty或"disabled"的位置.然而,这呈现为IsDisabled='disabled'或IsDisabled=""因此控制没有被禁用.当我尝试
@Html.TextBoxFor(model => model.ProposalName, new { @ViewBag.Disabled })
Run Code Online (Sandbox Code Playgroud)
即使不ViewBag.Disabled包含文本,控件也始终处于禁用状态.如何有条件地禁用Html.TextBoxFor()控件?
我正在使用 ASP.Net MVC (5.2.3.0) 创建一个表单字段:
@Html.TextBoxFor(
x => x.UserName,
new {
@class = "form-control",
placeholder = "Enter your username",
required = true,
autofocus = true
});
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,但现在我喜欢将autofocus属性设置为conditional。我该怎么办?
该autofocus属性是一个布尔属性,W3C声明:
注意:布尔属性不允许使用值“true”和“false”。要表示假值,必须完全省略该属性。
以下在 MVC 中不起作用,因为它仍然呈现autofocus导致浏览器执行自动聚焦的属性:
autofocus = String.IsNullOrEmpty(this.Model.UserName)
autofocus = String.IsNullOrEmpty(this.Model.UserName) ? null : ""`
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
如何禁用文本在 mvc 中。我正在使用 mvc 4.0。下面是我的代码,我想有条件地表示如果 m.Changes 值长度 >0 那么它应该被禁用,否则它被启用。那怎么可能?
@Html.TextAreaFor(m => m.Changes , new { style = " width:97%; height:50px;", tabindex = 5 })
Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×2
c# ×2
.net ×1
asp.net ×1
conditional ×1
html ×1
html-helper ×1
html.textbox ×1
razor ×1