从JQuery自动完成插件向ASP.Net MVC2操作传递参数
我使用以下代码将2个硬编码参数传递给ASP.Net MVC2控制器操作:从JQuery自动完成插件向ASP.Net MVC2操作传递参数,jquery,asp.net-mvc,jquery-autocomplete,Jquery,Asp.net Mvc,Jquery Autocomplete,我使用以下代码将2个硬编码参数传递给ASP.Net MVC2控制器操作: <script type="text/javascript"> $(document).ready(function () { $("form#search_for_entity_user input#term").autocomplete({ source: '<%= Url.Action("GetEntitySharedUsers", "Search")
<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", new { id = "42", snlid="17394" }) %>',
function (data) { })
}
});
});
</script>
这很好,但现在我需要更改$.post中传递的值,使其来自我的模型,因此我考虑类似于以下代码的内容,但这不起作用。有没有办法解决这个问题
<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", new { id = '<%= Model.EntityId %>', name= '<%= Model.Name %>' }) %>',
function (data) { })
}
});
});
</script>
这个怎么样
<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", new { id = Model.EntityId, name = Model.Name }) %>',
function (data) { })
}
});
});
</script>
但如果是我,我会提取这些数据,使其更具语义:
<input id="term" data-source-url="<%= Url.Action("GetEntitySharedUsers", "Search") %>" data-select-url="<%= Url.Action("AddSharedUser", "Entity", new { id = Model.EntityId, name = Model.Name }) %>" />
<script type="text/javascript">
$(document).ready(function () {
var term = $("form#search_for_entity_user input#term");
term.autocomplete({
source: term.data('source-url'),
delay: 200,
minLength: 3,
select: function (event, ui) {
$.post(term.data('select-url'), function (data) { });
}
});
});
</script>
这个怎么样
<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", new { id = Model.EntityId, name = Model.Name }) %>',
function (data) { })
}
});
});
</script>
但如果是我,我会提取这些数据,使其更具语义:
<input id="term" data-source-url="<%= Url.Action("GetEntitySharedUsers", "Search") %>" data-select-url="<%= Url.Action("AddSharedUser", "Entity", new { id = Model.EntityId, name = Model.Name }) %>" />
<script type="text/javascript">
$(document).ready(function () {
var term = $("form#search_for_entity_user input#term");
term.autocomplete({
source: term.data('source-url'),
delay: 200,
minLength: 3,
select: function (event, ui) {
$.post(term.data('select-url'), function (data) { });
}
});
});
</script>