我想使用锚标记而不是Html.ActionLink
通过查询字符串将2或3个参数传递给另一个操作结果,因为我在C#中动态地将锚标记添加到特定元素。
这里dt是包含columnd的表是survey_id和vin。
我正在尝试将特定列值替换为超链接并将params传递给另一个操作。请参考下面的代码。
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>";
}
企业是控制人,调查总结是行动结果之一。我需要动态地将vin以及调查ID传递给另一个动作。
但我试图动态传递vinid,它无法正常工作
它返回的网址类似于“http://xx.com/corporate/surveysummary?vinid=”
我怎么能改变这个?
答案 0 :(得分:2)
我使用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>