【发布时间】:2011-09-19 04:34:37
【问题描述】:
我有一个父页面 (DistributionReview.aspx),它有一个 存款日期 可供使用 DatePicker 选择。
在下面我有 两个标签(*DistributionByType* 和 DistributionByStatus),我想加载 PartialViews。 这里 PartialView 的参数是 DepositDate。
我有一个名为 DistributionReviewModel 的自定义 ViewModel,父页面正在实现它。
我遇到了直接加载静态部分视图的文章(例如: http://www.kevgriffin.com/blog/index.php/2010/02/23/using-jquery-tabs-and-asp-net-mvc-partial-views-for-ajax-goodness/ )。但是我正在通过传递参数寻找任何代码示例/文章?
感谢是否有人可以共享代码示例以传递参数并在更改 TabSelection 和更改 DepositDate 时加载部分视图。
感谢您的宝贵时间。
HTML代码:
<script type="text/javascript">
$(function () {
//tab
$("#divDistributionReview").tabs();
$("#fileDepositDate").datepicker(); //DateTime Picker
var depositDate = $("#fileDepositDate").val();
});
<div id="container" >
<% using (Html.BeginForm("frmDistributionReview", "DistibutionReview"))
{ %>
<div> Select a Date: <input type="text" id="fileDepositDate" name="datepicker" value='<%= ViewData["FileDepositDate"] %>' /></div>
<div id="divDistributionReview">
<ul>
<li><a href="/DistributionReview/DistributionByType">Distribution Type</a></li>
<li><a href="/DistributionReview/DistributionByStatus">Status</a></li>
</ul>
</div>
<%} %>
</div>
C# 代码:
public ActionResult DistributionReview()
{
ViewData["FileDepositDate"] = DateTime.Now.ToShortDateString();
var view = View(ApplicationConstants.DistributionReviewViewName, new MegaLockbox.Web.ViewModels.DistributionByTypeViewModel(securityManager, distributionReviewDataAdapter, Convert.ToDateTime(ViewData["FileDepositDate"])));
return view;
}
public ActionResult DistributionByType(string id)
{
DateTime depositDate;
var view = new PartialViewResult();
if (DateTime.TryParse(id , out depositDate))
{
view = PartialView(ApplicationConstants.DistributionByTypeViewName, new MegaLockbox.Web.ViewModels.DistributionByTypeViewModel(securityManager, distributionReviewDataAdapter, depositDate));
}
return view;
}
public ActionResult DistributionByStatus(string id)
{
DateTime depositDate;
var view = new PartialViewResult();
if(DateTime.TryParse(id, out depositDate) )
{
view = PartialView(ApplicationConstants.DistributionByStatusViewName, new MegaLockbox.Web.ViewModels.DistributionByTypeViewModel(securityManager, distributionReviewDataAdapter, depositDate));
}
return view;
}
【问题讨论】:
-
控制器中可以有一个方法(动作)并传递两个参数,一个用于数据,一个用于类型('status'或'type')
标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-3 asp.net-ajax jquery-ui-tabs