从JQuery自动完成插件向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")

我使用以下代码将2个硬编码参数传递给ASP.Net MVC2控制器操作:

<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>