0
我試圖從JQuery的自動完成插件傳遞2個參數到一個ASP.Net MVC2動作,參見下面的腳本。控制器被命名爲EntityController,Action被命名爲AddSharedUser,它需要2個字符串,請參閱下面的操作。當我嘗試運行它時,它嘗試將「AddSharedUser」作爲單個參數傳遞,並失敗。任何想法,我錯了?從JQuery傳遞參數到一個ASP.Net MVC2動作自動完成
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<UI.Models.FormModel.EntitySharedUserContainer>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Edit Entity Shared Users
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Entity - <%= Model.EntityName%>, Edit Shared Users</h2>
<ul class="entity-shared-users">
<% foreach (var item in Model.SharedUsersList)
{ %>
<li>
<%: item.Name%>
<%: Html.ActionLink("Remove", "RemoveSharedUser", "Entity",
new { id = Model.EntityId, CustId = item.CustId }, null)%>
</li>
<% } %>
</ul>
<form id="search_for_entity_user" method="get" action="<%= Url.Action("AddSharedUser", "Entity") %>">
<label for="term">Add Shared User:</label>
<%= Html.TextBox("term")%>
</form>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="Notify" runat="server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="PageTitle" runat="server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="JavaScriptContent" runat="server">
<script type="text/javascript">
$(document).ready(function() {
$("form#search_for_entity_user input#term").autocomplete({
source: '<%= Url.Action("GetEntitySharedUsers", "Search") %>',
delay: 200,
minLength: 3,
select: function (event, ui) {
$.post('<%= Url.Action("AddSharedUser", "Entity") %>',
{ id: '42', name: 'Russ' },
function (data) { alert("x"); })
}
});
});
</script>
</asp:Content>
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddSharedUser(string id, string name)
{
//Trying to use the parameters here
return View();
}
e POST身體看起來像?我看不出你的代碼有什麼問題。我不明白你的問題是什麼參數被髮送到這個動作,什麼是錯誤的。 – 2011-04-04 14:34:48
Darin,我不確定你想要什麼,所以我已經把整個頁面複製到帖子中。 – 2011-04-04 14:59:26