Я учусь и сумел создать приятную информационную страницу с отображением списков транзакций. Однако у меня нет добавленного окна DropDown, в котором есть список банковских счетов. Это не соответствует всем.ASP.Net MVC возвращающее значение DropDown
Когда пользователь выбирает учетную запись и нажимает кнопку «Отправить», страница должна перепродавать только транзакции для этой учетной записи.
я создал падение вниз, и форму для нее, как это:
<form id="form1" runat="server">
<h2>
Transactions:</h2>
<p>
<%
using (Html.BeginForm())
{
%>
Bank Account:
<% =Html.DropDownList("ddAccounts", Model.BankAccountItems)%> <input id="Submit1" type="submit" value="Select" />
<%
}
%>
</p>
</form>
Моя модель содержит следующее:
public class AccountTransactionDisplay
{
public AccountTransactionDisplay()
{
DisplayLines = new List<AccountTransactionDisplayLine>();
}
public SelectList BankAccountItems { get; set; }
public List<AccountTransactionDisplayLine> DisplayLines {get; set; }
public string ClosingBalance { get; set; }
}
public class BankAccountDropdownItem
{
public string Text {get; set;}
public string Value {get; set;}
}
public class AccountTransactionDisplayLine
{
public string RowColouring { get; set; }
public string TransactionDate { get; set;}
public string PayeeName { get; set; }
public string Amount { get; set; }
public bool AmountIsDebit { get; set; }
public string CategoryName { get; set; }
public string CostCenterName { get; set; }
public string BudgetName { get; set; }
public string RunningTotal { get; set; }
public bool RunningTotalIsDebit { get; set; }
public bool AlternateRowColour { get; set; }
public bool HasSplitItems { get; set; }
}
Итак, AccountTransactionDisplay является модель перехожу к просмотру , В этой модели у меня есть следующее:
public SelectList BankAccountItems { get; set; }
Это список элементов, отображаемых в моем раскрывающемся списке. Это отображается правильно.
Однако, когда пользователь нажимает кнопку отправки, я не уверен, как вернуть выбранное значение.
Я думал, что есть метод в мой контроллер, который принимает POST ... Итак, я прибавил:
[HttpPost]
public ActionResult Transactions(AccountTransactionDisplay model)
{
AccountTransactionDisplay trans = GetTransactions();
return View(trans);
}
И если я поставил точку останова, он бьет, но его похоже модель пуста. Мне нужно добавить идентификатор выбранной учетной записи из метода GetTransactions, чтобы выполнить фильтрацию.
Спасибо, Брайан, я думаю, это поможет мне. Я проверяю источник thbe, а имя выпадающего списка - ddAccounts, как и ожидалось. Итак, мне нужно добавить свойство, названное ddAccounts (??) к моей существующей модели, но какой тип это должно быть? – Craig
Строка будет делать. – CRice
Спасибо, ребята! Это сработало. Не знаю, как ... Это правило, что если есть элемент управления, который отправляет значение, он будет присвоить его тому же именованному свойству модели, как строку? – Craig