点击MVC按钮调用函数

Call function from button click MVC

本文关键字:函数 调用 按钮 MVC 点击      更新时间:2023-09-26

我有一个列表视图,我想用下拉列表和一些复选框来过滤它。参见图像

这是我认为的代码:

<div>
    <table border=0 id="idpagetitle">
        <tr>
            <td style="width: 480px; width:330px">
                <center>
                    <font color=black>
                        <b>Show:</b>
                    </font>
                    <select id="location_id" style="width:200px">
                        <option value="default"> - </option>
                        <option value="all" selected>All Locations</option>
                        <option value='23'>Location X</option>
                        <option value='15'>Location Y</option>
                    </select>
                </center>
            </td>
            <td class="pagetitlelabel" width="400">
                <table border=0>
                    <tr>
                        <td><input type="checkbox" id="all"> All</td>
                        <td><input type="checkbox" id="active"> Active</td>
                        <td><input type="checkbox" id="paid"> Paid</td>
                        <td><input type="checkbox" id="receivables"> Receivables</td>
                    </tr>
                    <tr>
                        <td><input type="checkbox" id="curmonth"> Current Month</td>
                        <td><input type="checkbox" id="inactive"> Inactive</td>
                        <td><input type="checkbox" id="unpaid"> Unpaid</td>
                        <td><input type="checkbox" id="payables"> Payables</td>
                    </tr>
                </table>
            </td>
            <td><input type="submit" class="smallbutton" id="FilterClick" onclick="FilterClick(location_id, active, paid, receivables, curmonth, inactive, unpaid, payables)" value="Filter" /></td>
            <td><input type="submit" class="smallbutton" name="cmdxls" onclick="cmdexcel()" value="All to Excel"></td>
        </tr>
    </table>
</div>

这是我的控制器中的代码:

public ActionResult FilterClick(int location, bool active, bool paid, bool receivables, bool curmonth, bool inactive, bool unpaid, bool payables, bool all)
        {
            LeaseFilterModel filter = new LeaseFilterModel();
            filter.Location = location;
            filter.Active = active;
            filter.Paid = paid;
            filter.Receivables = receivables;
            filter.CurrentMonth = curmonth;
            filter.Inactive = inactive;
            filter.Unpaid = unpaid;
            filter.Payables = payables;
            filter.All = all;
            LMWEBLINQDataContext leases = new LMWEBLINQDataContext();
            var leaseList = (from l in leases.tblfLeaseDetails
                             join v in leases.tblvVendors on l.Vendor_ID equals v.Vendor_ID
                             join c in leases.tblvCounties on l.County_ID equals c.County_ID
                             join a in leases.tblfAuthorizations on l.Lease_Detail_ID equals a.Lease_Detail_ID
                             join t in leases.tblvLineTypes on l.Line_Type_ID equals t.Line_Type_ID
                             where l.Location_ID == filter.Location
                             select new
                             {
                                 l.Lease_Detail_ID,
                                 l.Lease_ID,
                                 l.XRef_Lease_ID,
                                 v.Vendor_Name,
                                 l.Description,
                                 c.County,
                                 l.Amount,
                                 l.Payment_Due_Date,
                                 a.Authorized,
                                 t.Line_Type
                             }).Distinct().ToList().ToNonAnonymousList(new List<LeaseViewModel>()).Take(10);
            return View(leaseList);
        }

问题:当我运行应用程序并单击按钮时,它根本不会触发任何事情。请帮我找出我做错了什么。

对于服务器端方法,您需要使用BeginForm助手。因此,最好的方法是将你的观点改变为这样的东西:

                @using (Html.BeginForm("yourmethodname", "yourcontrollername", new { id = "FilterClick" }, FormMethod.post,null ))
            {
                <input type="submit" class="smallbutton" id="FilterClick"  value="Filter" />                }