【问题标题】:JQuery Ui dialog form and partial view reloadJQuery Ui对话框表单和部分视图重新加载
【发布时间】:2017-09-08 01:52:06
【问题描述】:

我正在尝试在 ASP.NET MVC 应用程序中重新加载 ajax 部分视图后打开一个 JQuery Ui 对话框表单。

HTML 代码

 <div>
    <table id="tabletotal">
      <thead>
        <tr>                    
         <th>
           Operator
         </th>
        </tr>
       </thead>
      <tbody>
         @for (int h = 0; h < Model.ToList().Count; h++)
           {
             <tr>
              <td>
                <button  type="button" class="assign"  id="@Model.ElementAt(h).id" >Assign</button>                                    

               </td>
              </tr>
           }
      </tbody>
    </table>
  </div>

对话框形式

<div id="dialog-form" style="display:none;">
<form action=@Url.Action("Assign", "Ticket") method="post" style="padding-top:10px">
    <fieldset>
        <div class="form-group" >
            <input id="passedId" name="passedId" type="hidden" />
            <select name="idOperator" id="idOperator" class="form-control">
                @foreach (Model.Data.Operator op in ViewBag.Operators)
                {
                    <option value="@op.id">@op.name</option>
                }
            </select>
        </div>
        <div align="right" style="padding-top:10px">
            <input type="submit" class="btn btn-secondary" value="Send">
        </div>
    </fieldset>
</form>

JS 代码

$(function () {
    var dialog = $("#dialog-form").dialog({
        autoOpen: false,
        height: 200,
        width: 350,
        modal: true
});
$(".assign").button().on("click", function () {
    $('#passedId').val(this.id);
    alert($(this).attr('id'));
    //dialog.data("idt", this.id);
    dialog.dialog("open");
});
});

我使用 Ajax 每 3 秒重新加载此局部视图。重新加载后,httppost 操作(“Assign”、“Ticket”)失败,因为 idPassed 为空。哪个可能是问题?我认为重新加载后按钮的 id 会丢失,但我不知道为什么。

【问题讨论】:

    标签: javascript jquery asp.net ajax asp.net-mvc


    【解决方案1】:

    好的,解决方法很简单 XD

    $(function () {
        $(".assign").button().on("click", function () {
            $('#passedId').val(this.id);
            createDialog();
            dialog.dialog("open");
        });
    });
    function createDialog() {
        var dialog = $("#dialog-form").dialog({
            autoOpen: true,
            height: 310,
            width: 350,
            modal: true
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多