c# - Asp.Net MVC4 中的复选框列表

标签 c# asp.net asp.net-mvc checkbox asp.net-mvc-4

我正在尝试在我的 View 中实现一个 CheckBoxList,并在列表中获取选定的复选框值列表。

我尝试了这个 link 中的示例, 但我无法获取选定的选中列表项。

我的看法

@foreach (var item in Model)
{
    <tr>
        <td align="center" class="Text_nocolor singleCheckbox">
            <input type="checkbox" class="checkbox" value="@item.ProductID" name="selectedObjects"/>
            @Html.HiddenFor(modelItem => item.ProductName)
        </td>
        <td align="center" class="Text_nocolor" id="myimage">
            <img src="@Url.Content(item.Imageurl)" width="40px" height="40px"  title="@item.ProductName" alt="Product"  class="myimage" style="border-style:none;"/>
        </td>
        <td align="left" class="Text_nocolor">
            @Html.DisplayFor(modelItem => item.ProductName)
        </td>
    </tr>
}
@Html.ActionLink(" ", "Checkout", new { controller = "Checkout", UserID = Request.QueryString["UserID"], Partnerid = Request.QueryString["Partnerid"] }, new { @class = "btnCheckout" })

Controller 代码(索引):

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString);
public IList<CartModel> GetCartDetails(string id, string partnerid)
{
    List<CartModel> CartDetails = new List<CartModel>();
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("select * from tablename where [User ID]='" + id + "' and [Partner ID]='" + partnerid + "'", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                CartModel cartInfo = new CartModel();
                cartInfo.ProductName = dt.Rows[i]["Product Name"].ToString();
                cartInfo.Imageurl = "~/Handler.ashx?Pid=" + dt.Rows[i]["Product ID"].ToString() + "&Imgid=1&Partnerid=" + partnerid;
                CartDetails.Add(cartInfo);
            }
        }
        con.Close();
    }
    return CartDetails;
}

public ActionResult Index()
{
    id = Request.QueryString["UserID"];
    partnerid = Request.QueryString["Partnerid"];
    IList<CartModel> objshop = new List<CartModel>();
    objshop = GetCartDetails(id, partnerid);
    ViewBag.Categories = objshop.ToList();
    return View(objshop.ToList());
}

public ActionResult Checkout(string id, string partnerid, int[] categories)
{
    string id = Request.QueryString["UserID"];
    string partnerid = Request.QueryString["Partnerid"];
    //How to get the selected checked list items as a list.
    return View();
}

有什么建议吗?

最佳答案

最后我通过 Webgrid 得到了一个复选框列表。

引用这个博客 http://weblogs.asp.net/imranbaloch/archive/2011/09/13/webgrid-helper-with-check-all-checkboxes.aspx

  @grid.GetHtmlWithSelectAllCheckBox(tableStyle: "webGrid",
            headerStyle: "header",
            checkBoxValue: "ProductID",
            columns: grid.Columns(
            grid.Column(columnName: "", format: @<text><img src="@Url.Content(item.Imageurl)" class="image" alt="Image "/></text>, style: "txtalignleft"),
            grid.Column(columnName: "ProductName", style: "txtalignleft"),
            grid.Column(columnName: "Quantity", style: "txtcenter"),
            grid.Column("Edit", " ", style: "txtalignleft", format: @<a href="@Url.Action("Index", "Cart", new { UserID = Request.QueryString["UserID"], partnerid = Request.QueryString["Partnerid"] })"><img
                alt="edititem" style="vertical-align: middle; text-align: justify; border-style: none;"
                height="17px" src="../../Images/edit.png" title="Edit" id="imgEdit" /></a>),
            grid.Column(columnName: "Rate", style: "txtalign"),
            grid.Column(columnName: "Price", style: "txtalign")
      ))

关于c# - Asp.Net MVC4 中的复选框列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13418488/

相关文章:

c# - XML 验证 : decimal attribute value starting with a space

asp.net - MooTools:将焦点设置在单击上

asp.net - 如何在 WCF 和 ASP.NET 之间集成企业库验证应用程序 block ValidationResults?

c# - VS2017中的MVC 3错误: The name 'ViewData' does not exist in the current context

如果没有强制转换,两个字节变量上的 C# XOR 将无法编译

c# - Dictionary<string,/> 是什么意思?

asp.net-mvc - 根据 url 中的可选操作值进行路由

c# - 是否有一些正确的方法可以为 IEnumerable 模型字段添加模型错误以突出显示 View 中的特定输入但不是全部?

c# - sql azure数据库的RPS容量

asp.net - 当 '*' 字符存在时禁用 AutoCompleteExtender