猿问

C# - 如何在 MVC 中使用新参数重新加载页面

我的视图中有一个超链接,文本依赖于背后的代码:


<a href="http://somelink"> @Html.DisplayFor(m => m.Link) </a>

在我的模型中:


[Display(Name = "Link")]

public string Link { get; set; }

在我的控制器中:


public ActionResult Index(string id)

{

    Models.Home DLink = new Models.Home();

    DLink.Link = id;

    return View(DLink);

}

正如预期的那样,我可以更改超链接描述http://localhost:61227/Home/Index/hyperlinkdescription 现在我的问题是:我无法使用这样的按钮更改超链接描述onclick:


<button class="but-lay" id="but-id" type="submit" onclick="location.href='@Url.Action("Index", "Home", new {id = "something" })'" >Button</button>

此按钮与view超链接和控制器位于同一位置。


更新:如果我使用type="button"该按钮问题将得到解决,但用户可以使用 Enter 键而不是按下按钮。


jeck猫
浏览 356回答 2
2回答

慕桂英546537

在您的 Layout.cshtml 页面中设置 ROOT<script>&nbsp; &nbsp; var ROOT = '@Url.Content("~/")';</script>现在给一个 id <a id="hreflink"></a>。在按钮上单击编写以下脚本$('#hreflink').each(function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var oldUrl = $(this).attr("href"); // Get current url&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var url = ROOT + "new link?id1=" + value1+ '&id2=' + value2;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $(this).attr("href", url); // Set herf value&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });你已准备好出发 。
随时随地看视频慕课网APP
我要回答