【问题标题】:Pass some value from asp.net mvc to jquery将一些值从 asp.net mvc 传递给 jquery
【发布时间】:2012-09-15 12:57:17
【问题描述】:

我使用 asp.net mvc、jquery 和 tag-it 这是 jquery 插件。

我想将一些值从 asp.net mvc 传递给 jquery,然后传递给我的控制器,我该怎么做?

这是我的javascript

<script type="text/javascript">
$(function () {
    var sampleTags = new Array();
    $.ajax({
        url: '/mp3/TagSuggestion',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        failure: function () { alert('Error contacting service!'); },
        success: function (data) {
            for (var j = 0; j < 5; j++) {
                sampleTags[j] = data[j];
            }
            $('#allowSpacesTags').tagit({
                availableTags: sampleTags,                
                allowSpaces: true
            });
        }
    });
});

这是我的控制器

    public JsonResult TagSuggestion(string id)

    {           

        IQueryable<string> tabs = mp3.TagSuggestion(id);

        return Json(tabs, JsonRequestBehavior.AllowGet);

    }

这是我的模特

        public IQueryable<string> TagSuggestion(string term)

    {

        IQueryable<string> tabs = from s in db.tblTags.Where(c => c.Title.Contains(term)) select s.Title;

        return tabs;

    }

这是我的 HTML

<form>

        <input type="text" name="tags" id="mySingleField />
        <input type="submit" value="Submit">
    </form>

谢谢

【问题讨论】:

  • 你遇到了什么问题?
  • TagSuggestion 不是您的控制器。这是你的控制器的动作又名方法。 “mp3”是你的控制器吗?
  • Andrew Whitaker:当我的用户在文本框中输入一些字母时,我想给他一个与该字母匹配的单词列表。
  • Lews Therin:我更新了我的模特帖子。
  • @drammar,你想将 id 参数从你的 javascript 传递给控制器​​吗?如果是,您如何查看此 ID?

标签: jquery asp.net-mvc tag-it


【解决方案1】:

在函数中将类型从 POST 设置为 GET。要发送当前模型的 id,请在当前函数中定义 data 参数,如下所示:

$(function () {
    var sampleTags = new Array();
    $.ajax({
        url: '/mp3/TagSuggestion',
        type: 'GET',
        data: { id : $("#mySingleField").val() },
        contentType: 'application/json; charset=utf-8',
        failure: function () { alert('Error contacting service!'); },
        success: function (data) {
            for (var j = 0; j < 5; j++) {
                sampleTags[j] = data[j];
            }
            $('#allowSpacesTags').tagit({
                availableTags: sampleTags,                
                allowSpaces: true
            });
        }
    });
});

希望这会解决

【讨论】:

  • 谢谢 .. 我在这行数据中遇到错误:{ id : '@Model.Id' }。我想从此 html 中获取 id,用户将在其中编写他的标签 (
      )
    • @drammar,该错误意味着 View Model 不包含 id 属性。您是否将此 ID 存储在特定字段中?如果是,则提供它存储的确切 html。
    • View Model 表示为此视图定义的模型。还有“”在这个字段中,用户将在哪里写 id?提供准确的 html。
    • 这是准确的 html
    猜你喜欢
    • 1970-01-01
    • 2016-02-21
    • 2020-07-15
    • 2020-05-17
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多