简体   繁体   English

将列表集合传递给控制器

[英]passing list collection to controller

I have 我有

View: 视图:

  <div class="partialContents comiclist" data-url="@Url.Action("LoadAlphabetBook2", "book", new { delimiters = "#;;;0;;;1;;;2;;;3;;;4;;;5;;;6;;;7;;;8;;;9", keywords = "0 - 9", startLetter = "0", categoryIds = new List<int> { Model.categoryId } })">
    </div>


 <div class="partialContents comiclist" data-url="@Url.Action("LoadAlphabetBook2", "book", new { delimiters = "e;;;f;;;g;;;h", keywords = "E - H", startLetter = "E", categoryIds = new List<int> { Model.categoryId } })">
 </div>

Script: 脚本:

 var site = site || {};
site.baseUrl = site.baseUrl || "";

$(document).ready(function (e) {

    // locate each partial section.
    // if it has a URL set, load the contents into the area.

    $(".partialContents").each(function(index, item) {
        var url = site.baseUrl + $(item).data("url");

        if (url && url.length > 0) {

            $(item).load(url);

        }
    });
});

a controller 控制器

public ActionResult LoadAlphabetBook2(string delimiters, string keywords, string startLetter, List<int> categoryIds = null)
    {
       ......


    }

the controller get all parameters correctly except categoryIds. 控制器正确获取除categoryIds之外的所有参数。 In fact, it tries to load: 实际上,它尝试加载:

/book/LoadAlphabetBook2?delimiters=%23%3B%3B%3B0%3B%3B%3B1%3B%3B%3B2%3B%3B%3B3%3B%3B%3B4%3B%3B%3B5%3B%3B%3B6%3B%3B%3B7%3B%3B%3B8%3B%3B%3B9&keywords=0%20-%209&startLetter=0&categoryIds=System.Int32%5B%5D / book / LoadAlphabetBook2?delimiters =%23%3B%3B%3B0%3B%3B%3B1%3B%3B%3B2%3B%3B%3B3%3B%3B%3B4%3B%3B%3B%3B%3B5%3B%3B% 3B6%3B%3B%3B7%3B%3B%3B8%3B%3B%3B9&keywords = 0%20-%209&startLetter = 0&categoryIds = System.Int32%5B%5D

How can I get it to work properly passing a list like that instead of a new int[] 我怎样才能使其正常工作,而不是通过类似的列表传递新的int []

You must explicitly cast the integer value as string using 您必须使用以下方式将整数值显式转换为字符串

Model.categoryId.ToString( format ) ;

format is optional. 格式是可选的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM