public ActionResult Countries(int id, int from=0)
我希望我的应用程序更改URL和控制器中的FROM参数,我希望我的View上的按钮从+ = 10开始,如何?
<a class="k-button" href="@Url.Action("Countries", "Home",new {from+=10})">Next</a>
似乎无法正常工作,所以我想每次在我的网址中使用/ 20或/ 30时都要调用“国家/地区”功能每次按下按钮时它必须为+10或者-10并不重要,我只是需要将值从我的URL或View传递给Controller函数国家,如何?请帮助,谢谢!
答案 0 :(得分:1)
您需要将偏移量和计数传递给服务器。
选项1:
只需在控制器操作中定义Page和PageSize,并使用它来过滤来自数据库的数据。
使用此选项,您生成的网址将如下所示:
/主页/国家页= 1&安培;页大小= 10
选项2:
您可以定义一个具有更多信息的对象以及Page#和PageSize
public class DataSourceRequest
{
public int Page { get; set; }
public int PageSize { get; set; }
public IList<SortDescriptor> Sorts { get; set; }
public IList<IFilterDescriptor> Filters { get; set; }
public IList<GroupDescriptor> Groups { get; set; }
public IList<AggregateDescriptor> Aggregates { get; set; }
public DataSourceRequest()
{
this.Page = 1;
this.Aggregates = (IList<AggregateDescriptor>) new List<AggregateDescriptor>();
}
}
<强>更新强>:
OP表示他希望在按钮点击时传递一个值递增值,建议你这样做 在页面上定义一个JS全局变量,在链接中使用此变量值,定义一个按钮单击事件,每次将此变量增加10。
更新2 :
你可以通过这种方式实现,这对我有用:
<强> Index.cshtml 强>
@{
ViewBag.Title = "title";
Layout = null;
}
<script src="~/Scripts/JQuery/1.11.2/jquery-1.11.2.min.js"></script>
<h2>title</h2>
<a class="k-button">Next</a>
<script language="javascript">
var itemCount = 0;
$('.k-button').click(function () {
var model = { id: itemCount, from : itemCount };
$.ajax({
url: '@Url.Action("Countries", "Home")',
contentType: 'application/json; charset=utf-8',
type: 'POST',
dataType: 'html',
data: JSON.stringify(model)
})
.success(function (result) {
alert(result);
})
.error(function (xhr, status) {
alert(status);
});
itemCount += 10;
});
</script>
<强> HomeController.cs 强>
public class HomeController : Controller
{
//
// GET: /Test/
public ActionResult Index()
{
return View();
}
public ActionResult Countries(int id, int from = 0)
{
return Json(from);
}
}
答案 1 :(得分:0)
好的,我就是这样做的:`
@for (var i = 0; i < Model.MatchCount / 20; i++)
{
if (i == Model.To)
{
<span>@(i + 1)</span>
}
else
{
<a id="Link" href="/#/Countries/@Model.Id/@(i *20)" data-pageindex="@i"
class="pager">@(i + 1)</a>
}
}`
其中i * 20是显示的数字,Model.Id是当前页面ID。它正在工作所以是啊..