Asp.net mvc ActionResult中的参数
在将一个普通的MVC项目迁移到一个普通的Umbraco项目时,我面临着几个问题。其中之一是使用查询参数,并将它们传输到我的索引中 工作MVC项目的旧操作结果:Asp.net mvc ActionResult中的参数,asp.net-mvc,umbraco,umbraco7,Asp.net Mvc,Umbraco,Umbraco7,在将一个普通的MVC项目迁移到一个普通的Umbraco项目时,我面临着几个问题。其中之一是使用查询参数,并将它们传输到我的索引中 工作MVC项目的旧操作结果: public ActionResult Index(int value1, int value2, bool value3 = false) {...} 新的ActionResult,在香草翁布拉科项目中工作 public override ActionResult Index(RenderModel model) {...} 但是我
public ActionResult Index(int value1, int value2, bool value3 = false)
{...}
新的ActionResult,在香草翁布拉科项目中工作
public override ActionResult Index(RenderModel model)
{...}
但是我需要原始项目中的参数(来自querystring)。
我试着简单地添加它们:
public override ActionResult Index(RenderModel model, int value1, int value2, bool value3 = false)
{...}
但是当我执行后一个操作时,我得到了错误'Controller.Index(RenderModel,int,int,bool):找不到合适的方法来重写'
我缺少什么?您不能将这些值作为参数传递。您应该从查询字符串中提取它们
public override ActionResult Index(RenderModel model)
{
var value1 = Request["value1"];
var value2 = Request["value2"];
var value3 = Request["value3"];
...
}
不能将这些值作为参数传递。您应该从查询字符串中提取它们
public override ActionResult Index(RenderModel model)
{
var value1 = Request["value1"];
var value2 = Request["value2"];
var value3 = Request["value3"];
...
}
该错误意味着并非所有参数都按其应加载的方式加载。只需让它们都接受null作为值,并检查在调用过程中得到的结果
public override ActionResult Index(RenderModel model, int? value1, int? value2, bool value3 = false)
{...}
该错误意味着并非所有参数都按其应加载的方式加载。只需让它们都接受null作为值,并检查在调用过程中得到的结果
public override ActionResult Index(RenderModel model, int? value1, int? value2, bool value3 = false)
{...}
为什么呢?(当它在香草MVC项目中工作时)这是因为当您在umbraco中使用DocType控制器时,它的行为与常规MVC控制器不同。为什么?(当它在香草MVC项目中工作时)这是因为当您在umbraco中使用DocType控制器时,它的行为与常规MVC控制器不同。