Asp.net mvc 关于ASP.NET MVC表单发布场景的问题

Asp.net mvc 关于ASP.NET MVC表单发布场景的问题,asp.net-mvc,Asp.net Mvc,我目前有一个用户控件,可用于/Address/Edit和/Address/Create页面。此用户控件仅包含以下代码,用于向系统提交新地址: <% using (Html.BeginForm()) { %> <table> <tr> <td>Street Address</td> <td>

我目前有一个用户控件,可用于/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以对文本框中的地址进行地理编码(即将其转换为一组经度/纬度坐标)。当GoogleMaps返回多个结果时,我会将这些结果存储到ViewData[“GeocodeResults”],然后向最终用户显示可能的地址

现在,这对于显示地址来说效果很好,但我真正想要的是将该列表呈现为超链接列表,以便用户可以单击相应的地址,表单将使用该地址而不是文本框中的地址提交。有什么方法可以做到这一点吗?

类似于:

<a href='javascript:void(0);' onclick='submitAddress(this);'>
    <%= geocodeResult.StreetAddress %></a>
你也可以把它放在一个隐藏的字段中,这意味着你不需要在谷歌地图上搜索这个地址。也就是说,如果提供了HiddenStreetAddress,只需使用with而不使用lookup。如果没有,那么在谷歌搜索StreetAddress。如果有多个结果,则显示结果。如果没有,则使用提供的

function submitAddress(link) {
   $('input#streetAddress:first').text(link.innerHtml);
   $('input#submit').click();
}