小编Dav*_*d C的帖子

在Ajax调用之后,MVC3不引人注目的验证不起作用

好的,这是交易,我在SO上看到了一些关于这个问题的帖子,但没有什么对我有用.

基本上,我选择从部分视图加载的下拉列表,我试图根据先前选择的下拉列表过滤每个后续下拉列表的内容.

如果我只是调用div容器中的局部视图,并加载页面,则数据注释的验证工作正常,主要是必需属性.

但是,如果我尝试通过这里设置的AJAX加载相同的部分,则必需的验证不起作用,任何人都可以在此之后发布表单和KABOOM.

我发现有人说在Success回调中你需要让客户端验证器重新分析表单,我正在尝试,但它似乎没有工作.

我有一个看起来像这样的视图......

  @model Area51.Models.Workflow.AddReportableItemToBatchActionModel
@{
    ViewBag.Title = "Add Reportable Item to Batch";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<script type="text/javascript">

    $(function () {
        var fadeDelay = 150;

        $(".jqDatePicker").datepicker({
            dateFormat: 'm/d/yy',
            onSelect: function (date) {
                $("#categoryContainer").show(fadeDelay);
            }
        });

        $('#Category').change(function () {
            RetrieveItemsForCategory();
            $("#itemContainer").show(100);
        });

        $('#Item').live('change', function () {
            RenderPartialForUOMByItem();           
        });



        function RetrieveItemsForCategory() {

            var category = $("#Category :selected").val();

            $.ajax({
                type: "POST",

                url: '@Url.Action("RenderPartialForLocationItemsByCategory","BatchWorkflow")',

                data: 'category=' + category,

                success: function (result) {
                    $("#itemContainer").html(result.toString());
                    $("#itemContainer").show(100);
                    RebindValidation();
                },

                error: function …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-mvc unobtrusive-validation asp.net-mvc-3

36
推荐指数
3
解决办法
3万
查看次数

Sammy.js和Knockout.js =>模板没有模板?

我对javascript客户端开发的概念相当新.我遇到了一个问题,虽然可能我只是不明白如何用框架的混搭来完成某些事情.

我知道我想使用Knockout来为它提供丰富的客户端好东西.我也想使用Sammy.js来允许路由并将数据传递到淘汰视图(我来自MVC背景,我用数据填充模型,然后返回视图(模型),MVC绑定它对我很好) .

所以现在我正在尝试做类似的客户端...

这是我的Index.html:

<!DOCTYPE html>

<html>
  <head>
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>

    <title>The EClassifieds Mobile</title>



      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<!--      <script type="text/javascript" src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>-->
      <script type="text/javascript" charset="utf-8" src="./scripts/cordova-1.8.1.js"></script>
      <script type="text/javascript" charset="utf-8" src="./scripts/knockout.js"></script>
      <script type="text/javascript" charset="utf-8" src="./scripts/templ.js"></script>
      <script type="text/javascript" charset="utf-8" src="./scripts/sammy.js"></script>      
      <script type="text/javascript" charset="utf-8" src="./scripts/sammy.tmpl.js"></script>
      <script type="text/javascript" charset="utf-8" src="./services/RouteManager.js"></script>
      <script type="text/javascript" charset="utf-8" src="./services/ApplicationManager.js"></script>


       <link rel="stylesheet" href="./style/site.css" type="text/css" media="screen" title="no title" charset="utf-8"/>       
 <!--      <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />-->

  </head>
  <body>

  <div id="main">
  <h1>HELLO …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc sammy.js knockout.js

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