как отправить строку через параметр формы mvc

0

У меня это form-

@using (Html.BeginForm("SaveVideo", "Upload", FormMethod.Post, new { id = "form-upload", @Class = "form-horizontal", enctype = "multipart/form-data", onsubmit = "return tags()", genres = "return genres()" }))
{
}

где в форме submit мне нужно будет отправлять строки, разделенные запятой.

<script type="text/javascript">
    function genres() {
        var genres = $('#input-genreautocomplete').val();
        return genres;
    }

    function tags() {
        var tags = $('#input-tagautocomplete').val();
        return tags;
    </script>

Теперь в качестве примера жанр будет like- 23,15,16,22,11 так же, как и теги. Он возвращает мне строку, разделенную запятой.

Теперь я хочу использовать эти строки в моем методе SaveVideo. Но я не могу заставить эти строки работать как параметры. Как отправить эти строки методу?

Автозаполнения, работающие как this-

<script type="text/javascript">

    $(function () {

        $('#input-tagautocomplete').tagsinput({
            itemValue: 'Id',
            itemText: 'TagName',
            typeahead: {
                source: function (term, process) {
                    items = [];
                    map = {};
                    idofitem = [];
                    var url = "@Url.Content("~/Upload/GetTagNames/")";
                    return $.getJSON(url, { term: term }, function (data) {
                        $.each(data, function (i, item) {
                            map[item] = item;
                            items.push(item.TagName);

                        });
                        return (items);
                    });
                },
                updater: function (item) {
                    var selected = map[item].Id;
                    $('#tag-value').val(selected);
                    return item;
                }
            }
        });
    });
</script>

Где программа обновления не работает, хотя это расширение типа bootstrap.

  • 0
    Отправьте его через $ .ajax ( api.jquery.com/jQuery.ajax )
  • 0
    @karthik, у меня есть требование отправлять его только через параметры.
Показать ещё 1 комментарий
Теги:
asp.net-mvc
asp.net-mvc-4

1 ответ

2

Я думаю, вы немного смущены. Параметры действия не обязательно должны указываться в помощнике BeginForm(). На самом деле, я не думаю, что это имеет смысл. Во-первых, эти данные должны быть в вашей форме, если они еще не были:

@using (Html.BeginForm("SaveVideo", "Upload", FormMethod.Post, new { id = "form-upload", @Class = "form-horizontal", enctype = "multipart/form-data"}))
{
    <input type="text" id="input-tagautocomplete" name="tags" />
    <input type="text" id="input-genreautocomplete" name="genres" />
}

Вы также можете создать их с помощью HTML-помощника. Важно то, что они имеют значение, указанное для атрибута name.

Затем вы можете просто добавить параметры к вашему методу действий для соответствия этим именам:

public ActionResult SaveVideo(string tags, string genres)
{
     // do whatever you want with tags and genres
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню