固定 我想要做的是一个包含帐户列表的视图,通过点击它应该打开的任何帐户名称选择accablentid Payablerecords和Reciveablerecords。注意:应付款管理系统和应收款管理系统是从同一个DataModel tbl_Transaction(即集合)获取的两个属性。所以我可以获得集合的ID吗?
我在Payable视图中获取了Selected AccountID记录,但是我无法在Reciveable视图中获得相同的id相关记录.PLZ帮助我。 这是代码。
public class AccountsController : Controller
{
private AccountBs objBs;
public AccountsController()
{
objBs = new AccountBs();
}
// GET: Shinwari/Accounts
public ActionResult Index()
{
var accounts = objBs.GetALL();
return View(accounts);
}
<%=@model IEnumerable<BOL.tbl_Accounts>
@{
ViewBag.Title = "Index";
}
<h2>Accounts</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Contact)
</th>
<th>
@Html.DisplayNameFor(model => model.Discription)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.ActionLink(item.Name, "Index", "AccountDetailPayable", new {accountid=item.AId },null)
@*@Html.DisplayFor(modelItem => item.Name)*@
</td>
<td>
@Html.DisplayFor(modelItem => item.Contact)
</td>
<td>
@Html.DisplayFor(modelItem => item.Discription)
</td>
}
</table>%>
private TransictionBs objbs;
public Details()
{
objbs = new TransictionBs();
}
// GET: Shinwari/AccountDetails
[HttpGet]
public ActionResult Index(int accountid)
{
ADetailsVm v = new ADetailsVm();
//Load both the collection properties
v.Payables = objbs.GetALL().Where(p => p.AId == accountid && p.tbl_TransictionType.Type.Contains("Payable")).ToList();
v.Reciveables = objbs.GetALL().Where(r => r.AId==accountid && r.tbl_TransictionType.Type.Contains("Reciveable")).ToList();
return View(v);
@model BOL1.ADetailsVm
@{
ViewBag.Title = "Index";
}
<h2>AccountDetails</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table id="Payables" class="table">
<tr>
<th>
Date
</th>
<th>
Discription
</th>
<th>
Amount
</th>
</tr>
@foreach (var item in Model.Payables)
{
<tr>
<td>
@item.Date
</td>
<td>
@item.TDiscription
</td>
<td>
@item.Amount
</td>
</tr>
}
</table>
**注意应付款和可转让两种观点相同**
答案 0 :(得分:0)
要像创建新模型类所需的2个不同属性一样使用相同的表,在我的例子中它如下所示。
public ADetailsVm
{
List<tbl_Transiction>Payables{get;set;}
List<tbl_Transiction>Reciveables{get;set;}
}
然后将以下类添加到DBContext类...它就像
public DbSet<ADetailsVm>ADetailsVm{get;set;}
答案 1 :(得分:0)
您必须创建一个新类,您需要添加两个列表,如下所示。
public NewClass
{
List<tbl_Transiction>Payables{get;set;}
List<tbl_Transiction>Reciveables{get;set;}
}
并将类添加到DbContext类中,如下所示。
public DbSet<NewClass>PayablesAndReceiveables{get;set;}
将新创建的列表对象循环到View中您需要的位置。