我有一个采取模型项列表并删除它们的操作,我的问题是,为什么参数没有通过
public ActionResult DeleteMultiple(IEnumerable<QAModel> model)
{
_qaService.DeleteMultiple(model);
long subscriptionId = model.First().SubscriptionId; //value is available here
long languageId = model.First().LanguageId; //value is available here
return RedirectToAction("Index", new { SubscriptionId =subscriptionId, LanguageId =languageId,Message="Data deleted successfully ."});
}
//重定向发生,但索引方法中的值为null。
public ActionResult Index(int? SubscriptionId,int? LanguageId,string Message)
{
}
我做错了什么,任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
RedirectToAction向浏览器返回302,这会导致浏览器发出另一个GET请求,因此不会保留您的数据。
如果你想调用另一种方法,只需调用该方法并避免往返浏览器。
return Index(...)
答案 1 :(得分:-1)
尝试在RouteValueDictionary方法
中使用路线值字典RedirectToAction()C#CODE
public ActionResult DeleteMultiple(IEnumerable<QAModel> model)
{
_qaService.DeleteMultiple(model);
long subscriptionId = model.First().SubscriptionId; //value is available here
long languageId = model.First().LanguageId; //value is available here
return RedirectToAction("Index",new RouteValueDictionary {{"SubscriptionId",subscriptionId},{"LanguageId",languageId},{"Message","Data deleted successfully ."}, } );
}
希望它可以帮到你,祝你有愉快的一天。