0
我對MVC 4非常陌生。請您幫助我解決以下問題。 我有一個索引操作方法,我設置分頁後要顯示的記錄數。從MVC中的另一個控制器重定向到操作(有分頁視圖)4
Index操作方法如圖
public ActionResult Index(int? page){
Provider providerList = new Provider();
IList<Provider> providers = DAL.GetListofProviders.ToList();
int pageSize = 5;
int pageNumber = (page ?? 1);
return View(providers.ToPagedList(pageNumber,pageSize));
}
Index視圖如圖所示。
@using PagedList;
@using PagedList.Mvc;
@model IPagedList<DEMO_JAN14.Models.Provider>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<head>
<title>LIST OF PROVIDERS</title>
</head>
<body>
<div class="container">
<h1>Providers List</h1><br/>
<a class="btn btn-primary col-sm-1" href="/Provider/Create">Create</a><br/>
<table class="table table-bordered">
<tr>
<th>Provider Type</th>
<th>First Name</th>
<th>Last Name</th>
<th>Certification</th>
<th></th>
</tr>
<tbody data-bind="foreach:viewModel">
<tr>
<td class="col-lg-2" data-bind="text: ProviderType"></td>
<td class="col-lg-2" data-bind="text: FirstName"></td>
<td class="col-lg-2" data-bind="text: LastName"></td>
<td><a class=" col-lg-2 btn btn-danger" id="del" onclick="" data-bind="attr: { href: '/Provider/Delete/'+ ProviderID }">Delete</a>
</td>
</tr>
</tbody>
</table>
Page @(Model.PageCount<Model.PageNumber? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
</div>
</body>
<script type="text/javascript" src="../../Scripts/knockout.mapping-latest.js"></script>
<script type="text/javascript">
var data = @Html.Raw(Json.Encode(Model));
var viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
</script>
點擊創建按鈕,用戶被定向到的數據輸入到表格併發布另一頁。
發佈的腳本如圖所示。
$("#Submit").on("click", function() {
if (ValidatethisForm()) {
$.ajax({
type: "POST",
url: "/Provider/Create",
data: Provider
});
}
});
在Create Action中,我將錯誤地重定向到Index方法。
public ActionResult Create(Provider provider)
{
try
{
DAL.InsertDataintoProviderTable(provider.ProviderType,provider.FirstName,provider.LastName);
return RedirectToAction("Index(1)","Provider");
}
catch
{
return View();
}
}
請引導我在正確的方向。謝謝。
編輯 ValidatethisForm方法
function ValidatethisForm() {
if (Provider.ProviderType() === "")
return false;
else if (Provider.FirstName() === "")
return false;
else if (Provider.LastName() === "")
return false;
else if (Provider.Certification() === "")
return false
else if (Provider.Specialization() === "")
return false;
else if (Provider.ContactNumber() === "")
return false;
else if (Provider.ContactEmail() === "")
return false;
else if (Provider.FacilityName() === "")
return false;
else
return true;
}
創建頁
@model DEMO_JAN14.Models.Provider
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<head>
<title>CREATE PROVIDER</title>
</head>
<body>
<div class="container">
<h1 class="col-sm-offset-2">Enter Provider Details:</h1><br />
<form class="form-horizontal" role="form" id="ProviderDetailsForm">
<div class="form-group">
<label class="col-sm-2 control-label labelfont">PROVIDER TYPE:</label>
<div class="col-sm-6" id="ProviderType">
<select class="form-control" data-bind="value: ProviderType" autofocus="autofocus">
<option>Select a Provider Type</option>
<option>Doctor</option>
<option>Facility</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">FIRST NAME:</label>
<div class="col-sm-6">
<input type="text" class="form-control" placeholder="Enter the First Name" id="FirstName" data-bind="value: FirstName" onkeypress="return onlyAlphabets(event);">
</div>
<label class="col-sm-4 labelfont errorMsg" id="Err_FirstName">Enter the first name</label>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">LAST NAME:</label>
<div class="col-sm-6">
<input type="text" class="form-control" placeholder="Enter the Last Name" id="LastName" data-bind="value: LastName" onkeypress="return onlyAlphabets(event);">
</div>
<label class="col-sm-4 labelfont errorMsg" id="Err_LastName">Enter the first name</label>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">CERTIFICATION:</label>
<div class="col-sm-6">
<select class="form-control" id="Certification" data-bind="value: Certification">
<option>Select a Certification</option>
<option>Doctor</option>
<option>Facility</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">SPECIALIZATION:</label>
<div class="col-sm-6">
<select class="form-control" id="Specialization" data-bind="value: Specialization">
<option>Select a Specialization</option>
<option>Doctor</option>
<option>Facility</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">SSN:</label>
<div class="col-sm-6">
<input type="text" class="form-control" placeholder="Enter the SSN" id="SSN" d data-bind="value: SSN" onkeypress="return onlyNumbers(event);" maxlength="9">
</div>
<label class="col-sm-4 labelfont errorMsg" id="Err_SSN">Enter the SSN</label>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">FACILITY NAME:</label>
<div class="col-sm-6">
<input type="text" class="form-control" data-bind="value: FacilityName" placeholder="Enter the Facility Name" id="FacilityName">
</div>
<label class="col-sm-4 labelfont errorMsg" id="Err_FacName">Enter the Facility name</label>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">CONTACT NUMBER:</label>
<div class="col-sm-6">
<input type="text" class="form-control" data-bind="value: ContactNumber" placeholder="Enter the Contact Number" id="ContactNumber" onkeypress="return onlyNumbers(event);" maxlength="10">
</div>
<label class="col-sm-4 labelfont errorMsg" id="Err_ContactNum">Enter the Contact Number</label>
</div>
<div class="form-group">
<label class="col-sm-2 control-label labelfont">EMAIL ADDRESS:</label>
<div class="col-sm-6">
<input type="text" class="form-control" data-bind="value: ContactEmail" placeholder="Enter your email address" id="EmailAddress">
</div>
<label class="col-sm-4 labelfont errorMsg" id="Err_EmailAddress">Enter the Email Address</label>
</div>
<div class="form-group">
<button type="submit" id="Submit" class="btn btn-primary col-sm-1 col-sm-offset- 4">Submit</button>
<button type="reset" class="btn btn-primary col-sm-1">Reset</button>
</div>
</form>
</div>
</body>
<script type="text/javascript" src="../../Scripts/Create_Script.js"></script>
我只是想it.It沒有工作。我仍然在創建頁面本身。 – 2015-01-15 15:32:22
我已經嘗試了第二個選項。不幸的是它不重定向到index.I卡在同一個創建頁面。 – 2015-01-15 15:35:34
我已更新我的回答 – 2015-01-15 15:37:32