RedirectToAction中传递对象我想在RedirectToAction中传递对象。这是我的代码:RouteValueDictionarydict=newRouteValueDictionary();dict.Add("searchJob",searchJob);返回RedirectToAction("SearchJob","SearchJob",dict);其中searchJob是SearchJob的一个实例。但我没有获得有关SearchJob操作方法的数据。相反,我得到了searchJob=Entity.SearchJob的查询字符串。请帮我。我究竟做错了什么?您不能将类传递给重定向操作。重定向是通过url完成的。网址是字符串,因此它不能包含类(将对象序列化为网址实际上是合乎逻辑的),您可以使用TempDataTempData["searchJob"]=searchJob;返回RedirectToAction...;并在行动中重定向Entity.SearchJob=(Entity.SearchJob)TempData["searchJob"];执行上述代码后,TempData将不再包含searchJob。TempData通常用于单次读取。但是我不喜欢上面的方式。如果我在您所在的位置并想按名称搜索工作,我会添加一个路由参数,例如RouteValueDictionarydict=newRouteValueDictionary();dict.Add("searchJobName",searchJob.JobName);并通过参数接收它.这更适合测试、维护等。你可以尝试:returnRedirectToAction("SearchJob","SearchJob",newRouteValueDictionary(searchJob)默认模型Binder,动作定义为:publicActionResultSearchJob(SearchJobsearchJob)将得到一个完整的reSearchJob对象。如果你想在查询字符串中传递整个对象,你不能将一个类传递给RedirectToAction方法,或者通过POST,你可以使用XML或者JSON序列化对象,在receivercontroller中反序列化对象。如果你使用这个方法,注意序列化对象的大小。尝试使用cross-pageposting你可以确定Prevoiuse页面以上是C#学习教程:传递RedirectToAction中对象共享的全部内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注.本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
