繁体   English   中英

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

[英]passing multiple parameter to another action using anchor tag not using html.actionlink

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

此处dt是包含列的表,分别是Survey_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>";
}  

企业是控制者,调查摘要是行动的结果之一。 我需要将vin以及调查ID动态传递给另一个操作。

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

它返回类似http://xx.com/corporate/surveysummary?vinid=的网址

我该如何更改?

我为此使用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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM