Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax MVC3使用数据剃须刀重新加载页面的一部分_Ajax_Asp.net Mvc 3_Razor_Reload - Fatal编程技术网

Ajax MVC3使用数据剃须刀重新加载页面的一部分

Ajax MVC3使用数据剃须刀重新加载页面的一部分,ajax,asp.net-mvc-3,razor,reload,Ajax,Asp.net Mvc 3,Razor,Reload,我有一个表,其中包含我的基本数据和3个按钮,用于删除、创建和更新,这些按钮返回PartialView 单击相应对话框(删除、更新,…)中的“提交”按钮后,我想用数据更新我的页面部分 最简单的方法是什么 这就是我现在得到的 我将只添加,删除基本相同 <div id="delete-dialog" title="Delete Product"></div> <script type="text/javascript" > $(".deleteLink").b

我有一个表,其中包含我的基本数据和3个按钮,用于删除、创建和更新,这些按钮返回PartialView

单击相应对话框(删除、更新,…)中的“提交”按钮后,我想用数据更新我的页面部分

最简单的方法是什么

这就是我现在得到的 我将只添加,删除基本相同

<div id="delete-dialog" title="Delete Product"></div>   
<script type="text/javascript" >
$(".deleteLink").button();

    var deleteLinkObj;
    // delete Link
    $('.deleteLink').click(function () {
        deleteLinkObj = $(this);
        var name = $(this).parent().parent().find('td :first').html();
        $('#delete-dialog').html('<p>Do you want delete ' + name + ' ?</p>');
        //for future use
        $('#delete-dialog').dialog('open');
        return false; // prevents the default behaviour
    });

    $('#delete-dialog').dialog({
        dialogClass: "ConfirmBox",
        autoOpen: false, width: 400, resizable: false, modal: true, //Dialog options
        buttons: {
            "Continue": function () {
                $.post(deleteLinkObj[0].href, function (data) { //Post to action
                    if (data == '<%= Boolean.TrueString %>') {
                        deleteLinkObj.closest("tr").hide('fast'); //Hide Row
                    }
                    else {
                    }
                });
                $(this).dialog("close");
            },
            "Cancel": function () {
                $(this).dialog("close");
            }
        }
    });
</script>

$(“.deleteLink”).button();
var-deleteLinkObj;
//删除链接
$('.deleteLink')。单击(函数(){
deleteLinkObj=$(此项);
var name=$(this.parent().parent().find('td:first').html();
$(“#删除对话框”).html(“是否要删除“+name+”?

”); //供将来使用 $(“#删除对话框”)。对话框(“打开”); return false;//防止默认行为 }); $(“#删除对话框”)。对话框({ dialogClass:“ConfirmBox”, 自动打开:false,宽度:400,可调整大小:false,模式:true,//对话框选项 按钮:{ “继续”:函数(){ $.post(deleteLinkObj[0].href,函数(数据){//post to action 如果(数据=“”){ deleteLinkObj.closest(“tr”).hide(“fast”);//隐藏行 } 否则{ } }); $(此).dialog(“关闭”); }, “取消”:函数(){ $(此).dialog(“关闭”); } } });
在对话框关闭后,我想重新加载页面的一部分

数据看起来像

<table>
    <tr>
        <th>        Name       </th>
        <th>        Date </th>
        <th>             </th>
    </tr>


@foreach (var m in this.Model)
{
    <tr>
    <td>
     <div class="ProductName">@Html.DisplayFor(Model => m.Name)</div>
    </td>
    <td>
     @Convert.ToDateTime(m.AddDate).ToShortDateString()
    </td>
    <td>

     <div class="ProductPrice">@string.Format("{0:C}", m.Price)</div>
    </td>

    <td>
      <div class="CategoryName">@Html.DisplayFor(Model => m.CategoryName)</div>

    </td>
    <td>
    @Html.ActionLink("Edit", "Edit", new { id = m.ID }, new { @class = "editLink" }) 
    @Html.ActionLink("Delete", "Delete", new { id = m.ID }, new { @class = "deleteLink" }) 
    </td>
    </tr>
}
</table>

名称
日期
@foreach(此.Model中的var m)
{
@DisplayFor(Model=>m.Name)
@Convert.ToDateTime(m.AddDate).toSortDateString()
@格式(“{0:C}”,m.Price)
@DisplayFor(Model=>m.CategoryName)
@ActionLink(“编辑”,“编辑”,新的{id=m.id},新的{@class=“editLink”})
@ActionLink(“Delete”,“Delete”,new{id=m.id},new{@class=“deleteLink”})
}
我不确定我是否做得很好 我试图在单击按钮后执行此操作,但请确定是否正确 我将索引更改为局部视图

 buttons: {
            "Continue": function () {
                $.post(deleteLinkObj[0].href, function (data) { //Post to action
                    if (data == '<%= Boolean.TrueString %>') {
                        deleteLinkObj.closest("tr").hide('fast'); //Hide Row
                    }
                    else {
                    }
                });
                $.ajax.ActionLink("Index", 
                "Index",   // <-- ActionMethod
                "Shop",  // <-- Controller Name.
                new { }, // <-- Route arguments.
                null  // <-- htmlArguments .. which are none. Y
                )
                $(this).dialog("close");
            },
            "Cancel": function () {
                $(this).dialog("close");
            }
        }
按钮:{
“继续”:函数(){
$.post(deleteLinkObj[0].href,函数(数据){//post to action
如果(数据=“”){
deleteLinkObj.closest(“tr”).hide(“fast”);//隐藏行
}
否则{
}
});
$.ajax.ActionLink(“索引”,

“Index”,//我建议您在.cshtml文件中使用ASP.NET MVC ActionLink帮助程序,而不是jQuery:

[...]
<script type="text/JavaScript">
function openPopup()
{
    // Set your options as needed.
    $("#yourPopupDialogId").dialog("open");
}
</script>
[...]
@Ajax.ActionLink( 
    "Delete", 
    "Delete", 
    "Controller", 
    new { someValue = 123 },
    new AjaxOptions
    {
        // Set your options as needed
        HttpMethod = "GET",
        UpdateTargetId = "yourPopupDialogId",
        OnSuccess = "openPopup()"
    }
)
[...]
<div id="yourPopupDialogId" style="display: none;"></div>

我建议您在.cshtml文件中使用ASP.NET MVC ActionLink帮助程序,而不是jQuery:

[...]
<script type="text/JavaScript">
function openPopup()
{
    // Set your options as needed.
    $("#yourPopupDialogId").dialog("open");
}
</script>
[...]
@Ajax.ActionLink( 
    "Delete", 
    "Delete", 
    "Controller", 
    new { someValue = 123 },
    new AjaxOptions
    {
        // Set your options as needed
        HttpMethod = "GET",
        UpdateTargetId = "yourPopupDialogId",
        OnSuccess = "openPopup()"
    }
)
[...]
<div id="yourPopupDialogId" style="display: none;"></div>

请展示到目前为止你所掌握的知识,并尝试使用正确的拼写和标点符号,你的问题很难理解。如果你想更改页面的某些部分,你应该查看
Ajax.ActionLink
PartialView
的文档。好吧,我想我的索引应该像其他索引一样是部分视图,然后我使用ActionLinkanks我想我会找到正确的答案:POk我试图使用这个actionLink,但不确定是否正确请查看主题的最后一部分,请展示您到目前为止的成果,并尝试使用正确的拼写和标点符号,您的问题很难理解。您应该查看
Ajax.actionLink
PartialVi的文档ew
如果您想更改页面的某些部分。好吧,我想我的索引应该是像其他部分一样的局部视图,然后我使用actionLink谢谢,我想我会找到正确的:POk我试图使用此actionLink,但不确定是否有好的方法请查看主题的最后部分