小编Dis*_*ame的帖子

WebMatrix Razor页面和全局使用语句

如何在WebMatrix Razor上下文(不是ASP.NET MVC Razor)中为我的所有.cshtml页面设置全局使用?

因此,不要将@using System.Web.Optimization每个.cshtml文件@Scripts.Render()置于我需要包含的位置,而是将其放在一个单独的位置.

asp.net asp.net-mvc using webmatrix razor

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

MVC验证在Knockoutjs帖子中丢失了

我正在使用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"填充字段.

这不是一个形式太复杂,所以如果可以避免,我不想引入一些新的验证层.我不介意有一个验证的帖子.

谢谢,丹

validation asp.net-mvc-4 knockout.js asp.net-mvc-viewmodel

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

当用户单击主视图上的按钮时,如何显示其他部分视图?

我想单击"主视图"上的按钮并自行填充局部视图.更新

我有一个主要观点:

 @{
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 razor asp.net-mvc-3

2
推荐指数
1
解决办法
2201
查看次数

带有jQuery验证的ASP.NET MVC - 消息定制和本地化

我有ASP.NET MVC(4)项目,该框架支持本地化.如果我将浏览器设置更改为其他语言,框架会自动选择正确的资源文件.

但是,因为我使用的是knockoutjs,所以我会回到这些视图的jQuery验证.不幸的是,那里没有自动支持本地化.

我的问题是 - 定制和本地化jQuery验证消息的最佳实践和方法是什么,以便它们将与所有MVC资源一起自动选择?

在给定资源和消息ID的情况下,jQuery验证消息的行为方式与Data Annotations消息类似.

特别是 -

  1. 如何让jQuery 从资源中获取我想要的消息而不是默认的"此字段是必需的",因此它将打印"请输入电子邮件"和

  2. 如果我更改浏览器语言,如何让jQuery 自动以另一种语言打印相同的自定义消息?

先感谢您.

asp.net-mvc localization jquery-validate data-annotations

2
推荐指数
1
解决办法
4050
查看次数