我需要更改id我的模型的属性,所以我id在方法中TextBoxFor从HTML helper. 不过,这显然没有改变id的for属性使用该方法时,LabelFor从HTML helper。
@Html.TextBoxFor(model => model.MyProperty, new { id = "CustomId" })
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变for使用该方法时,属性LabelFor从HTML helper?。因为此方法不允许更改属性。
@Html.LabelFor(model => model.MyProperty)
Run Code Online (Sandbox Code Playgroud)
也许有一个属性可以更改id模型属性中的 。
谢谢
编辑评论
我使用LabelFor是因为我需要从以下名称中获取名称DataAnnotation Description:
[Display(Name = "Name of my property")]
public string MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud) 我创建了一个模型类;一个简单的 POCO 类:
public class ContactModel
{
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Message { get; set; }
[Required]
public string Work{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在视图中,我想调用并编辑该模型:
<div class="contact-form">
@Html.EditorFor(new Map.WebUI.Models.ContactModel())
</div>
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
编译错误
描述:编译服务此请求所需的资源期间发生错误。请查看以下具体错误详细信息并适当修改您的源代码。
编译器错误消息:CS0411:无法从用法推断方法“System.Web.Mvc.Html.EditorExtensions.EditorFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)”的类型参数。尝试显式指定类型参数。
来源错误:
考虑到视图不是强类型化到该对象类型的,如何为随机类调用编辑器?
我传递了这个:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id })%>
Run Code Online (Sandbox Code Playgroud)
我进入浏览器:
http://something.com/CRM/EditCRMRequest?Length=3
Run Code Online (Sandbox Code Playgroud)
与错误代码:
参数字典包含非可空类型'System.Int32'的参数'Id'的空条目,用于'ApricaCRMEvent.Controllers.CRM.CRMController'中的方法'System.Web.Mvc.ActionResult EditCRMRequest(Int32)'.可选参数必须是引用类型,可空类型,或者声明为可选参数.参数名称:参数
如果我在浏览器中明确地写这个,它工作正常:
http://something.com/CRM/EditCRMRequest?Id=3
Run Code Online (Sandbox Code Playgroud) 尝试将带有jquery的mvc helper复选框绑定到javascript函数,然后该函数将根据是否选中该事实来执行某些操作。
第1部分:如何将复选框成功绑定到click或change事件?
第2部分:如何检查复选框是否已选中?
<div class="editor-label">
@Html.LabelFor(model => model.Immediate)
</div>
<div class="editor-field">
@Html.CheckBoxFor(model => model.Immediate, new {id = "chkImmediate" })
</div>
Run Code Online (Sandbox Code Playgroud)
我的绑定尝试:
$("#chkImmediate").click(clickEvent());
function clickEvent() {
alert($("#chkImmediate").checked); //want it to show true/false
}
Run Code Online (Sandbox Code Playgroud) 如何在 ActionLink 中包含 html 实体。例如下面的情况»。
<p>@Html.ActionLink("Link Text »", "Index", new { }, new { @class = "btn btn-warning", @role = "button" })</p>
Run Code Online (Sandbox Code Playgroud) 我正在使用HtmlHelper,我根据检索到的日期和月份值提供表数据ID.问题是id无法以其所处的格式识别.'/'当我用' - '替换'/'时,它似乎不会被拾取.
daysRow.AppendFormat("<td id='{0}/{1}'>{0}</td>", day, d1.Month.ToString());
Run Code Online (Sandbox Code Playgroud)
谁能告诉我如何格式化这个?
当您在MVC中使用HtmlHelpers时,您可以指定一组html属性作为字典对象.
我在网上阅读了很多关于创建HtmlHelpers的资料,但我已经专注于jQuery和其他ASP.NET的东西,我必须尽快开发一个应用程序,我也没有时间处理Html Helpers自定义.
我知道MVC3已经提供了一些属性,比如@class,但是在微软网站上没有关于htmlattributes的信息.请您告诉我哪些属性可用以及如何指定min C#?
我最感兴趣的是"禁用",禁用特定控件和"id",以更改控件的ID,因为HtmlHelpers默认使用相同的id和name值.我需要它与jQuery一起使用它们.
提前致谢
弗朗切斯科
是否可以在布局页面中使用模型?例如,我们有一个模型,其中包含要在页面上呈现的多个表单.一个表单是用于搜索我们网站的搜索表单,我们想将其添加到布局页面.现在我们想利用html.editorfor helper来打印表单.搜索表单可能会有所不同,具体取决于所呈现的视图(这就是为什么我们不想在html中键入它的原因).那么我怎样才能将此搜索传递给模型并仍然利用html帮助程序将其打印出来?
进入页面时,无法找到任何其他值作为默认值的解决方案.这始终是我的第一价值.
创建"选择列表"
List<SelectListItem> list = new List<SelectListItem>();
var x = 0;
foreach (var lang in Enum.GetValues(typeof(ResourceHandler.Languages)))
{
list.Add(new SelectListItem { Selected = x == langInt, Value = x++.ToString(), Text = lang.ToString() });
}
Run Code Online (Sandbox Code Playgroud)
视图模型:
public class SettingsViewModel
{
public int LanguageId { get; set; }
public List<SelectListItem> Language { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图:
@Html.DropDownListFor(x=>x.LanguageId, new SelectList(Model.Language,"Value","Text"))
Run Code Online (Sandbox Code Playgroud) 我遇到了以下问题:
用户访问网站,点击"添加",然后发送回Controller,模型被检索并再次发送给View.在内部视图中,我检查Model是否为null并显示数据.
@if (Model != null)
{
<div id="appInfo">
<table>
<tr>
<th>@Html.DisplayNameFor(x => Model.tytul)</th>
<th>@Html.DisplayNameFor(x => Model.kategoria.nazwa)</th>
<th>@Html.DisplayNameFor(x => Model.liczba_ocen)</th>
<th>@Html.DisplayNameFor(x => Model.avg_ocena)</th>
<th>@Html.DisplayNameFor(x => Model.typ)</th>
</tr>
<tr>
<td>@Model.tytul</td>
<td>@ViewData["kategoria"]</td>
<td>@Model.liczba_ocen</td>
<td>@Model.avg_ocena</td>
<td>@Model.typ</td>
</tr>
</table>
</div>
<div>
@using (Html.BeginForm("Confirm", "Wydawca", new { app = @Model }))
{
<input type="submit" value="Cofirm it" />
}
</div>
Run Code Online (Sandbox Code Playgroud)
在结束按钮上创建"确认它",单击它后会调用确认方法,但应用变量始终为空.如果我将其值设置为除模型之外的任何值.
[HttpPost]
public ActionResult Confirm(aplikacja app)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在创建按钮"确认它"模型不为空时,我检查了.你碰巧知道出了什么问题吗?
生成的HTML
<form action="/Wydawca/Confirm?app=Adds.Models.aplikacja" method="post">
<input type="submit" value="Zatwierd?" />
Run Code Online (Sandbox Code Playgroud)
html-helper ×10
asp.net-mvc ×6
c# ×5
razor ×3
html ×2
jquery ×2
.net ×1
checkbox ×1
javascript ×1
model ×1