Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.NET Core MVC中向asp标记帮助程序添加链接参数_C#_Asp.net Core_Asp.net Core Mvc_Url Parameters_Tag Helpers - Fatal编程技术网

C# 如何在asp.NET Core MVC中向asp标记帮助程序添加链接参数

C# 如何在asp.NET Core MVC中向asp标记帮助程序添加链接参数,c#,asp.net-core,asp.net-core-mvc,url-parameters,tag-helpers,C#,Asp.net Core,Asp.net Core Mvc,Url Parameters,Tag Helpers,我对ASP.NET MVC 1-5有很多经验。现在我学习ASP.NET核心MVC,并且必须在页面中向链接传递一个参数。例如,我有以下操作 如何使用标记帮助器实现此操作的链接 ProductName 您可以使用属性前缀asp route-作为路由变量名称的前缀 例如: ProductName 您可能需要应用以下语法 <a asp-controller="Member" asp-action="Edit" asp-route-level="3" asp-route-type=

我对ASP.NET MVC 1-5有很多经验。现在我学习ASP.NET核心MVC,并且必须在页面中向链接传递一个参数。例如,我有以下操作

如何使用标记帮助器实现此操作的链接

ProductName

您可以使用属性前缀
asp route-
作为路由变量名称的前缀

例如:

ProductName

您可能需要应用以下语法

<a asp-controller="Member"
   asp-action="Edit"
   asp-route-level="3"
   asp-route-type="full"
   asp-route-id="12">Click me</a>

尽管MVC中不需要装饰方法的属性,但它更清楚地显示了如何将链接中的属性绑定到方法中传入的参数。

如果要将变量id放入网格或表格中的链接,可以使用下面的代码。

[HttpGet]
[Route("/Product/GetProduct/{id}")]
 public ActionResult GetProduct(string id)
 {
      ViewBag.CaseId = id;
      return View();
 }


 <a  asp-controller="Product" asp-action="GetProduct" asp-route-id="@item.id" >ProductName</a>
[HttpGet]
[路由(“/Product/GetProduct/{id}”)]
公共操作结果GetProduct(字符串id)
{
ViewBag.CaseId=id;
返回视图();
}
产品名称
在后端:

此代码必须写入控制器中操作的顶部

[Route("/Controller/Method/{Object or varible name}")]
public actionresult method name(your variable)
{
    //your code...
}
在前端:

@{
var url = "/Controller/Method/" + your data;
<a href="@url"> click me for send data()</a>
}
@{
var url=“/Controller/Method/”+您的数据;
}

如果我有多个参数,我必须用这个方法添加所有内容?@elvin mammadov,是的,使用
asp-route-yourParamName
,例如:
asp-route-foo=“bar”
@elvinmmadov您的评论
asp-route-yourParamName
,关于其他输入参数非常有用。谢谢。@Alex您的示例将生成html为:
。问题:在使用锚定标记助手时,如何使用
jquery
获取参数值(例如10)`@可以在ASP辅助对象旁边添加数据属性<代码>,然后用
$('a').attr('data-id')
:)为我获取id,而不是
/Member/Edit/3/full/12
,它生成
/Member/Edit/3?type=full&id=12
@Arif无法确定原因,而且我目前不在C环境中(太懒了,无法启动一个)。但是,我建议这取决于我们是显式地声明[FromUrl]还是[FromQuery]等等,这可能在不同版本的.NET PalaForm之间有所不同,和/或取决于纯WebAPI调用的继承类(而不是带有视图的BaseController类等等)。NB,我只是想问一下。你能解释一下你的答案吗?只有代码而没有解释的答案往往会被否决或删除。
[Route("/Controller/Method/{Object or varible name}")]
public actionresult method name(your variable)
{
    //your code...
}
@{
var url = "/Controller/Method/" + your data;
<a href="@url"> click me for send data()</a>
}