C# 使用锚定标记将多个参数传递给另一个操作,而不使用html.actionlink

C# 使用锚定标记将多个参数传递给另一个操作,而不使用html.actionlink,c#,html,asp.net-mvc,asp.net-mvc-4,C#,Html,Asp.net Mvc,Asp.net Mvc 4,我想通过使用锚定标记而不是Html.ActionLink,通过查询字符串将2或3个参数传递给另一个操作结果,因为我在C#中动态地向特定元素添加锚定标记 这里的dt是一个表格,其中包含的D列是调查id和vin。 我试图将特定列值替换为超链接,并将参数传递给另一个操作。请参考下面的代码 string surveyId ,vin; foreach (DataRow dr in dt) { // Url.Action( surveyId = dr["Survey_Id"].ToStri

我想通过使用锚定标记而不是
Html.ActionLink
,通过查询字符串将2或3个参数传递给另一个操作结果,因为我在C#中动态地向特定元素添加锚定标记

这里的dt是一个表格,其中包含的D列是调查id和vin。

我试图将特定列值替换为超链接,并将参数传递给另一个操作。请参考下面的代码

string surveyId ,vin;

foreach (DataRow dr in dt)
{
    // Url.Action(
    surveyId = dr["Survey_Id"].ToString();
    vin = dr["VIN"].ToString();
    //dr["Survey_Id"] = "@Html.ActionLink(" + surveyId.ToString() + ",'Index','SurveySummary', new RouteValueDictionary(new { area = 'Corporate' }), new { @class = 'NNAHyperlink' })".ToString();
    dr["VIN"] = "<a href='../corporate/surveysummary?vinid='"+vin+"class='HyperLink' style='text-decoration: underline;'>" + vin + "</a>";
}  
string surveyId,vin;
foreach(数据行dr在dt中)
{
//Url.Action(
surveyId=dr[“Survey_Id”]。ToString();
vin=dr[“vin”]。ToString();
//dr[“Survey_Id”]=“@Html.ActionLink(“+surveyId.ToString()+”、'Index'、'SurveySummary',新建RouteValueDictionary(新建{area='Corporate'}),新建{@class='NNAHyperlink'})”。ToString();
dr[“VIN”]=“”;
}  
公司是控制者,调查摘要是行动结果之一。我需要将vin和调查id动态传递给另一个行动

但我尝试动态传递vinid,它无法正常工作

它返回的URL类似于“


如何更改此设置?

我使用url.action进行更改。请重试

@Url.Action("Action", "Controller", new { surveyId = dr["Survey_Id"].ToString(), vin = ...
编辑: 关于您最后的评论,可能最容易使用viewbag。因此,在控制器中:

ViewBag.SurveyId = dr['Survey_Id'].ToString();
ViewBag.Vin = vin;
然后在你看来

<a href= '@Url.Action('Index', 'corporate/surveysummary', new { surveyId = ViewBag.SurveyId })'>@ViewBag.Vin</a>


这是否可以放在C#中?因为我需要在C#而不是查看页面中执行此操作。它是否也是动态的?既然我需要执行动态操作,那么我如何在锚定标记中将url.action作为字符串赋予href属性我总是发现从控制器将参数发送到视图并在视图上构建url更容易。您提到过namic。是否需要基于视图上的字段构建此链接?若要构建动态url,需要使用jquery。这是基于表值还是通过单击复选按钮来选择项目?请参阅我的jquery答案