我试图在某个操作后创建一个 Url,这个 url 应该指向不同的控制器和操作。我还需要包含一些参数,以便它们为目标控制器提供所需的信息。所以可以说我有一个控制器叫做:
DoWorkController.cs
和一个动作
public void Add(params...){..}
我在我的主页控制器中使用 UriBuilder,如下所示:
UriBuilder builder = new UriBuilder();
builder.Host = System.Web.HttpContext.Current.Request.Url.Host;
builder.Port = System.Web.HttpContext.Current.Request.Url.Port;
//got stuck here
Uri ret = builder.Uri;
return ret;
我希望它提取控制器名称和操作名称并将其分配给构建器,然后添加参数,我不知道该怎么做。建议??
编辑
我解决了从控制器到操作的路径问题,我仍然坚持向 url 添加参数。
UriBuilder builder = new UriBuilder();
builder.Host = System.Web.HttpContext.Current.Request.Url.Host;
builder.Port = System.Web.HttpContext.Current.Request.Url.Port;
string path;
if (operation == 1)
path = Url.Action("Add", "DoWork");
else if(operation ==2)
path = Url.Action("Delete", "DoWork");
else
throw new ArgumentException("Operation is neither Add or Delete");
if (path != null)
{
builder.Path = path;
}
Uri ret = builder.Uri;