2012-01-11 3 views
1

у меня есть что-то вроде в MVC (я использую MVC C#, используя бритву):@ Html.ActionLink с идентификатором для связи

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}) 

производит что-то вроде, когда я смотрю на исходный код:

<a href="/iDVI/Project/EditProject/535">Edit</a> 

Обратите внимание, что 535 был результатом наличия item.ProjectID. Это прекрасно. То, что мне нравится делать, это поместить идентификатор для этой ссылки редактирования. Что-то вроде:

<a href="/iDVI/Project/EditProject/535" id="Projectid">Edit</a> 

Как это сделать. Я знаю, что использование нового {id = ...} создаст идентификатор, а id уже используется для того, что мне нужно делать.

Мне нужно указать идентификатор ссылки сейчас?

ответ

2

Вы должны смотреть на подпись метода, когда вы используете его. Когда Вы писали:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}) 

вы использовали следующую перегрузку:

HtmlHelper.ActionLink (строка LinkText, строка ActionName, объект routeValues)

Так вот почему вы получали свой item.ProjectID как часть URL-адреса. В этом случае это routeValue.

Перегрузка, что вы ищете, вероятно, это один:

HtmlHelper.ActionLink (строка LinkText, строка ActionName, объект routeValues, объект htmlAttributes)

Используя эту перегрузку вы указываете, что хотите использовать переменную item.ProjectID как часть URL-адреса, а также атрибут ссылки:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}, new { id = item.ProjectID }) 

Если вы на самом деле хотите прописать имя переменной, можно было бы написать:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}, new { id = @"Projectid" }) 

Это дает желаемый результат.

3

Использование:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID }, new { id = "Projectid" }) 
0

Попробуйте

@Html.ActionLink("Edit", "EditProject", null, new { id = item.ProjectID})