如何在WebMatrix Razor上下文(不是ASP.NET MVC Razor)中为我的所有.cshtml页面设置全局使用?
因此,不要将@using System.Web.Optimization每个.cshtml文件@Scripts.Render()置于我需要包含的位置,而是将其放在一个单独的位置.
我正在使用MVC4和淘汰赛.我在页面上有一个表单,该表单是一个强类型的视图模型.在该视图模型中,我定义了一些验证,例如:
[Required(ErrorMessage = "Title is required")]
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果我在没有填写必填字段的情况下对表单执行标准发布,我的操作会看到模型无效并返回到视图,并且显示主验证消息,因为我@Html.ValidationSummary在表单中.单个字段也标记为无效(带有消息),因为我已@Html.ValidationMessageFor与该字段关联
所以我添加了淘汰赛,而不只是发布我现在打电话的表格ko.utils.postJson($("form")[0], self);.现在大多数都可以工作,如果我发布了未填充所需字段的表单,我的操作会检测到模型无效并返回到视图,除非现在没有显示单个验证消息.
帖子前填写的字段也会丢失.我尝试通过读取mvc viewmodel并将变量设置为这样的值来解决这个问题.
var model = @Html.Raw(Json.Encode(Model));
Run Code Online (Sandbox Code Playgroud)
然后在我的淘汰视图模型中设置该值
self.Title = ko.observable(model.Title);
Run Code Online (Sandbox Code Playgroud)
但是当我输入'1'时,当失败的帖子返回时,它会用'"1"填充字段.
这不是一个形式太复杂,所以如果可以避免,我不想引入一些新的验证层.我不介意有一个验证的帖子.
谢谢,丹
我想单击"主视图"上的按钮并自行填充局部视图.更新
我有一个主要观点:
@{
using (Ajax.BeginForm("PastClaims", "Claim", FormMethod.Post, new AjaxOptions { UpdateTargetId = "update_panel", InsertionMode = InsertionMode.Replace }, new { @class = "form-horizontal" }))
{
<legend>Submit a Claim</legend>
@Html.EditorForModel()
<div class="controls">
<input id="btnCheckForClaims" type="submit" class="btn btn-primary" value="Submit Claim" />
</div>
}
Run Code Online (Sandbox Code Playgroud)
我需要单击提交按钮然后显示另一个视图:如果我在下面执行,那么在初始加载的页面上显示div
<div id="update_panel">@Html.Partial("PastClaims")</div>
Run Code Online (Sandbox Code Playgroud)
如果我将div留空,那么我会得到一个新的局部视图.
<div id="update_panel"></div>
Run Code Online (Sandbox Code Playgroud)
如果我把它们留下来,就像达林所说:
using (Ajax.BeginForm("PastClaims", "Claim", FormMethod.Post, new AjaxOptions { UpdateTargetId = "update_panel", InsertionMode = InsertionMode.Replace }, new { @class = "form-horizontal" }))
Run Code Online (Sandbox Code Playgroud)
我被重定向到同一页面(我想要的),但不显示附加的局部视图.
感谢下面的Darrin让我走到这一步.
我有ASP.NET MVC(4)项目,该框架支持本地化.如果我将浏览器设置更改为其他语言,框架会自动选择正确的资源文件.
但是,因为我使用的是knockoutjs,所以我会回到这些视图的jQuery验证.不幸的是,那里没有自动支持本地化.
我的问题是 - 定制和本地化jQuery验证消息的最佳实践和方法是什么,以便它们将与所有MVC资源一起自动选择?
在给定资源和消息ID的情况下,jQuery验证消息的行为方式与Data Annotations消息类似.
特别是 -
如何让jQuery 从资源中获取我想要的消息而不是默认的"此字段是必需的",因此它将打印"请输入电子邮件"和
如果我更改浏览器语言,如何让jQuery 自动以另一种语言打印相同的自定义消息?
先感谢您.
asp.net-mvc ×3
razor ×2
asp.net ×1
knockout.js ×1
localization ×1
using ×1
validation ×1
webmatrix ×1