相关疑难解决方法(0)

在c#中将匿名类型转换为键/值数组?

我有以下匿名类型:

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)

.net c# anonymous-types httpwebrequest

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

MVC 3:使用HtmlHelpers有条件地添加禁用属性

我有一个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.

我已经想到了一些解决这个问题的解决方案,所以问题不是我怎么能这样做.但是,有一种简单的方法,如上面所需的方法?或者我是否必须诉诸以下其中一项?

我知道我能做什么......

  1. 创建一个if/else语句并写入不同的Html.CheckBox行(对于可读性而言不是很好 - 并且可能会抛出标记警告 - 不确定)

  2. 跳过HtmlHelper类并手写标记以允许更好的条件属性(保持代码更短,但增加了不一致性)

  3. 创建一个自定义帮助程序,它采用"禁用"参数(最干净的解决方案,但需要不需要的额外方法 - 可能是目前为止最好的选择)

asp.net-mvc html-helper asp.net-mvc-3

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

MVC3有条件地禁用Html.TextBoxFor()

我有一个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()控件?

conditional html.textbox asp.net-mvc-3

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

如何在 ASP.Net MVC 中制作布尔 HTML5 属性“有条件”?

我正在使用 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)

有谁知道如何解决这个问题?

html c# asp.net asp.net-mvc razor

5
推荐指数
1
解决办法
926
查看次数

如何禁用 TextAreaFor?

如何禁用文本在 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-4

3
推荐指数
1
解决办法
5330
查看次数