【发布时间】:2019-12-03 07:38:10
【问题描述】:
我有一个图像链接扩展程序,用于通过一些计算导航到同一视图。一旦用户从下拉列表中选择一个值并单击链接,我需要导航到同一个视图并传递他们选择的值。一切正常,除了我传递给的控制器名称被击中两次。我似乎无法理解为什么会发生这种情况。
考虑两个视图,一个是 Project,另一个是 ProjectRoles。首先,我通过操作链接从项目视图导航到 ProjectRoles 页面。之后,ProjectRoles 视图中还有一个图像链接,现在如果我单击它,则 url 应该在查询字符串的帮助下传递一个参数,但控制器名称出现两次。我哪里做错了?还是在 MVC 中不可能?
我的项目查看代码:
protected string LinkButtonAddPerson(string action, string controllerName, string actionName, long id, long createUser, string status,int projectId)
{
string link = string.Empty;
// Controller Name: ProjectRolesController Action: AddEditProjectRoles
string querystring = "<a href='../" + controllerName + "/" + actionName + "/?id=" + id + "&status=###status"+ "&projectId="+ projectId + "&veryfirstTime=Y' ><img id='###ahrefID' src='../../Content/Images/###image'></a>";
link = querystring.Replace("###status", Constants.Status.Pending).Replace("###image", "addperson.png").Replace("###ahrefID", "addperson");
//link = querystring.Replace("###status", "P").Replace("###image", "edit.png").Replace("###ahrefID", "edit");
return link;
}
ProjectRoles 中的 ImageLinke 按钮:
protected string LinkButton(string action, string controllerName, string actionName, long id, long
createUser, string status, string firstcall="N")
{
string link = string.Empty;
string querystring = "";
// Controller Name: ProjectRolesController Action: AddEditProjectRoles
querystring = "<a href='../" + controllerName + "/" + actionName + "/?id=" + id + "&status=###status'><img id='###ahrefID' src='../../Content/Images/###image'></a>";
link = querystring.Replace("###status", Constants.Status.Pending).Replace("###image", "edit.png").Replace("###ahrefID", "edit");
return link;
}
还有我的 AddEditProjectRoles:
public ActionResult AddEditProjectRoles(int? Id, string status,int projectId, string veryfirstTime="N")
{
...
...
...
// Based on the parameter value, fetching the details.
}
【问题讨论】:
标签: c# asp.net-mvc razor controller asp.net-core-mvc