В настоящее время у меня есть пользовательский элемент управления, который используется на странице / Address / Edit и / Address / Create. Этот пользовательский элемент управления просто содержит следующий код для отправки нового адреса в систему:
<%
using (Html.BeginForm())
{
%>
<table>
<tr>
<td>Street Address</td>
<td>
<%= Html.TextBox("StreetAddress", (ViewData.Model != null) ? ViewData.Model.StreetAddress : "") %>
<%= Html.ValidationMessage("Address.StreetAddress") %>
</td>
</tr>
</table>
<%= Html.SubmitButton() %>
<%
if (ViewData["GeocodeResults"] != null) {
%>
<p>
Google maps found the following addresses that matched the address you entered. Please select
the appropriate address. If none of these addresses are correct, try reentering the address
again and be as specific as possible.
</p>
<ul>
<%
foreach (GeocodeResult geocodeResult in (List<GeocodeResult>)ViewData["GeocodeResults"]) {
%>
<li>
<%= geocodeResult.StreetAddress %>
</li>
<%
}
%>
</ul>
<%
}
%>
<%
}
%>
Чтобы подвести итог приведенному выше коду, он выполняет в контроллере запрос к Google Maps для геокодирования адреса в текстовом поле (т.е. превращает его в набор координат долготы / широты). Когда Google Maps возвращает более одного результата, я сохраняю эти результаты в ViewData ["GeocodeResults"], который затем отображает возможные адреса для конечного пользователя.
Теперь, это нормально работает для отображения адресов, но я действительно хочу, чтобы этот список отображался как список гиперссылок, чтобы пользователь мог щелкнуть по соответствующему адресу, и форма будет отправлена с этим адресом вместо один в текстовом поле. Есть ли способ сделать это?