[英]Automatically call controller method and generate partial view. How?
我想在局部視圖中自動生成一個列表。
_Layout.cshtml
@Html.Partial("../Transaction/_Transaction")
TransactionController
public JsonResult transactionlist()
{
List<Transaction> TransactionList = new List<Transaction>().ToList();
string Usercache = MemoryCache.Default[User.Identity.Name] as string;
int UsercacheID = Convert.ToInt32(Usercache);
if (Usercache == null)
{
int UserID = (from a in db.UserProfiles
where a.UserName == User.Identity.Name
select a.UserId).First();
UsercacheID = UserID;
MemoryCache.Default[User.Identity.Name] = UsercacheID.ToString();
}
var Account = (from a in db.UserAccount
where a.UserId == UsercacheID
select a).First();
var DBTransaction = from a in db.Transaction
where a.AccountId == Account.AccountId
select a;
var DBTransactionList = DBTransaction.ToList();
for (int i = 0; i < DBTransactionList.Count; i++)
{
TransactionList.Add(DBTransactionList[i]);
}
ViewBag.acountsaldo = Account.Amount;
return Json(TransactionList, JsonRequestBehavior.AllowGet);
}`
如何_Transaction.cshtml
來制作一個沒有提交按鈕等的簡單列表?
您應該調用控制器操作並讓它返回您的局部視圖。 此外,使用視圖模型而不是viewbag。
布局或父視圖/局部視圖:
@Html.Action("Transaction", "YourController")
局部視圖:
@model TransactionModel
@foreach (Transaction transaction in Model.TransactionList) {
// Do something with your transaction here - print the name of it or whatever
}
查看型號:
public class TransactionModel {
public IEnumerable<Transaction> TransactionList { get; set; }
}
控制器:
public class YourController
{
public ActionResult Transaction()
{
List<Transaction> transactionList = new List<Transaction>().ToList();
// Your logic here to populate transaction list
TransactionModel model = new TransactionModel();
model.TransactionList = transactionList;
return PartialView("_Transaction", model);
}
}
一種方法是讓頁面返回一個項目列表並將它們提供給您的部分。
function ActionResult GetMainTransactionView()
{
List<Transaction> transactions=GetTransactions();
return PartialView("TransactionIndex",transactions);
}
TransactionIndex.cshtml
@model List<Transaction>
@Html.Partial("../Transaction/_Transaction",model)
Main.chtml
<a id="transactionLink" href='@Url.Action("GetMainTransactionView","Transaction")'/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.