我有包含分页的cshtml视图页面
此页面的视图
一旦我点击下面的任何一个号码(1到10),我应该能够将该号码传递给该表格的POST方法
这是该分页的相关cshtml代码段
@if (Model.Pager.EndPage > 1)
{
<ul class="pagination">
@for (var page = Model.Pager.StartPage; page <= Model.Pager.EndPage; page++)
{
<li class="@(page == Model.Pager.CurrentPage ? "active" : "")">
<input type="submit" value=@page class="btn btn-default" ViewBag.pagenumber=@page/>
</li>
}
</ul>
}
然后我尝试传递这个值
@using (Html.BeginForm("method_name", "controller", new { pagenumber = ViewBag.pagenumber} , FormMethod.Post))
{
但pagenumber
每次都变为空,这样
修改
[HttpGet]
public ActionResult method_name(int? page,string Product_ID)
{
........
}
[HttpPost]
[ValidateInput(false)]
public ActionResult method_name(AddNewProduct product, string pagenumber)
{
.....
return RedirectToAction("method_name", "controller", new { page = pagenumber});
}
答案 0 :(得分:0)
变为null。 尝试使用TempData
$(function () {
// $("div#FileIDUpload").dropzone({ url: "xUpload.xsp" });
var myDropzone = new Dropzone("div#FileIDUpload", {
paramName: "uploadedFile", // The name that will be used to transfer the file
url: "xUpload.xsp",
clickable:true,
uploadMultiple:false,
maxFilesize: 2 // MB
});
});
答案 1 :(得分:0)
为每个输入字段分配名称标签。这样你就可以使用FormCollection在控制器中检索值,而不需要new { pagenumber = ViewBag.pagenumber}
:
[HttpPost]
[ValidateInput(false)]
public ActionResult method_name(FormCollection collection){
var inputValue = collection.GetValue("name").AttemptedValue;
return RedirectToAction("method_name", "controller", inputValue);
}
答案 2 :(得分:0)
你可以这样做
在寻呼机按钮中添加类pagerBtn
<input type="submit" value=@page class="btn btn-default pagerBtn"/>
以
形式创建隐藏的输入字段 @using (Html.BeginForm("method_name", "controller" , FormMethod.Post))
{
//Make sure the action parameter same as name of input field
<input type="hidden" name="pagenumber" id="hiddenInput" />
}
编写jquery以获取页码
$(document).ready(function(){
$(".pagerBtn").on("click",function(e){
var pageClicked = e.target.value;//Get clicked button page number from attribute value.
$("#hiddenInput").val(pageClicked);//insert clicked value in hidden filed input with name same as controller parameter taking this value.
});
});