繁体   English   中英

当 Ajax.BeginForm 完成时在 cshtml 中调用 ac# 函数

[英]call a c# functions in cshtml when Ajax.BeginForm completed

所以有一个 Ajax.BeginForm 调用 PartialView 并返回一个视图(我用它来过滤产品)

但我也想更改主视图模型

我的意思是在 Ajax.BeginForm 完成后我想在PartiaView动作中制作ViewBag

之后,当 Ajax.BeginForm 完成后,调用 cshtml 中的函数以使用该ViewBag更新主视图模型

我怎样才能做到这一点

最后这是我的目标:

@functions{
public void ChangeModel(){
    Model.Prod = ViewBag.Prod //forget about the casting !
}
}

@using (Ajax.BeginForm("GetStations", "Trains", new { area = "Site" }, new AjaxOptions
{
    OnSuccess = ChangeModel(),
}, null))

OnSuccess 是一个 JavaScript 回调函数,

C#代码将是

@using (Ajax.BeginForm("GetStations", "Trains", new { area = "Site" }, new AjaxOptions
{
    OnSuccess = 'mySuccessCallback',
}, null))

你的控制器会返回这样的东西

return Json(new { Prod = ViewBag.Prod, ... }, JsonRequestBehavior.AllowGet);

JavaScript 将是

function mySuccessCallback(data, status, xhr) {
    var newProdValue = data.Prod; // passed as model from backend

    // ... display the new value anywhere with JS or jQuery
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM