不是我想要的 PartialViewResult 方式

发布于 2024-12-11 14:50:08 字数 755 浏览 1 评论 0原文

我尝试一下。我为我的英语提前道歉。

我的操作代码;

public PartialViewResult showProduct()
{

    var query = db.Categories.Where((c) => c.CategoryID == 4);
    return PartialView("_EditCategory",query);
}

我的视图代码:

 @using (Ajax.BeginForm(
    "showProduct",
    new AjaxOptions
    {
        HttpMethod = "GET",
        InsertionMode = InsertionMode.InsertAfter,
        UpdateTargetId = "result"
    }))
    {
       <input type="submit" value="Get" />
    }
    <div id="result">
    </div>

当我按下提交按钮(获取哪个值)时,结果会返回,但在另一个页面中,例如 http:// /localhost:57616/Home/showProduct 但我想返回索引页面中的结果 div。

任何人都可以帮助我吗?

I try something.I apologize in advance for my english.

My Action code;

public PartialViewResult showProduct()
{

    var query = db.Categories.Where((c) => c.CategoryID == 4);
    return PartialView("_EditCategory",query);
}

My view code:

 @using (Ajax.BeginForm(
    "showProduct",
    new AjaxOptions
    {
        HttpMethod = "GET",
        InsertionMode = InsertionMode.InsertAfter,
        UpdateTargetId = "result"
    }))
    {
       <input type="submit" value="Get" />
    }
    <div id="result">
    </div>

When i pushed the submit button ( which value is get) the results return but in another page like http://localhost:57616/Home/showProduct but i want return to result div in index page.

Any one can help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨落星ぅ辰 2024-12-18 14:50:08

所以,我自己处理这个问题的方式是这样的:

$(document).ready(function () {
var options = {
   target: "#mytargetdiv",
   url: '@Url.Action("Edit", "IceCream")',
};

$("#editIceCreamForm").submit(function () {
   $(this).ajaxSubmit(options);
   return false;
}

// other stuff

});

在其他地方,我想要对事物进行就地编辑,我会做这样的事情:

<input type="button" id="someid" value="Edit" data-someid="@Model.SomeId"/>

然后是一些像这样的ajax:

$(function () {
   $("#someid".click(function () {
      var theId = $(this).data('someid');
      $.ajax({
         type: "GET",
         data: "id=" + theId,
         url: '@Url.Action("Edit", "Something")',
         dataType: "html",
         success: function (result) {
            $('#targetdiv').html(result);
         }
      });
   });
});

所以,如果你不感兴趣在使用 jQuery 并想要使用 MS Ajax 的东西时,您是否在页面上包含 MicrosoftAjax.js 和 MicrosoftMvcAjax.js 文件?如果您没有这些,我相信会发生的只是默认(非 Ajax)提交。

So, how I handled this myself was something like this:

$(document).ready(function () {
var options = {
   target: "#mytargetdiv",
   url: '@Url.Action("Edit", "IceCream")',
};

$("#editIceCreamForm").submit(function () {
   $(this).ajaxSubmit(options);
   return false;
}

// other stuff

});

in other places, where I wanted to do in-place editing of things I'd do something like this:

<input type="button" id="someid" value="Edit" data-someid="@Model.SomeId"/>

and then some ajax like so:

$(function () {
   $("#someid".click(function () {
      var theId = $(this).data('someid');
      $.ajax({
         type: "GET",
         data: "id=" + theId,
         url: '@Url.Action("Edit", "Something")',
         dataType: "html",
         success: function (result) {
            $('#targetdiv').html(result);
         }
      });
   });
});

So, if you're not interested in using jQuery and want to use the MS Ajax stuff, are you including the MicrosoftAjax.js and MicrosoftMvcAjax.js files on the page? If you don't have those, I believe what will happen is it just does the default (non-Ajax) submit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文