我的操作接受如下所示的模型:
public class ClassListVM
{
public ClassListVM()
{
Filter = new ClassFilterModel();
}
public ClassFilterModel Filter { get; set; }
public PagedList<Class> Classes { get; set; }
}
public class ClassFilterModel
{
public int? TermId { get; set; }
public int? SubFormId { get; set; }
public int? FormId { get; set; }
}
public ActionResult Index(ClassListVM model)
{
model.Classes = classService.GetClasses(model.Filter);
return View(model);
}
现在我要生成一个这样的网址:/Classes?Filter.SubFormId=1
。如何使用以下代码将Filter
部分放入网址:
<a href="@Url.Action("Details", "Classes", new {Filter.TermId = Model.TermId, Filter.SubFormId = subForm.SubFormId})">go</a>
如您所见,此处无法使用Filter
。
答案 0 :(得分:1)
理论上,你可以用这种方式构建它:
<a href="@Url.Action("Details", "Classes")?Filter.TermId=@Model.TermId&Filter.SubFormId=@subForm.SubFormId">go</a>
这样的事情;实际上,将查询字符串嵌入到客户端标记中,并仅注入参数。