我有一个包含许多表的页面,每个表都在局部视图中。我希望能够为其中一个表输入一些from / to日期,获取新数据,并且只更新该表。
我认为片段:
<tbody>
@foreach (var item in Model)
{
var a = item.accounts;
foreach (var item2 in a)
{
<tr>
<td>@String.Format("{0:MM/dd/yyyy}", @item2.TradeDate)</td>
<td>@item2.AccountName</td>
<td></td>
<td>@String.Format("{0:n}", item2.ExecutionPrice)</td>
<td>@String.Format("{0:n}", item2.PrincipalAmount)</td>
</tr>
}
}
</tbody>
我想要做的是获取由此创建的html并使用新表更新div。
当应用程序首次加载时,我有一个方法返回此部分的ActionResult。在此之后,用户将设置新日期并单击Go,之后我进行ajax调用。这是我想要更新该表的那一点。
这可能吗?
编辑:
我做了一些改变。我现在有这个ajax电话:
var url = "Company/Transactions?symbol=" + $("#savesymbol").val() + "&fromDate=" + $("#fromDate").val() + "&toDate=" + $("#toDate").val();
alert(url)
$.ajax({
url: url,
type: "Post",
//dataType: "html",
async: false,
success: function (result) {
$('.transTarget').html(result);
},
error: function () {
alert("Error occured");
}
});
这导致整个页面被放置在我的.transTarget div中,而不仅仅是部分。但是,由于公司/交易返回部分视图,为什么我要获得整个页面?
这是我控制器中的公司/交易方法:
public async Task<ActionResult> Transactions(string symbol, string fromDate, string toDate)
{
string url = ServiceUrl + "api/company/transactions/" + symbol + "/" + fromDate + "/" + toDate + "/";
Transaction transactionInfo = new Transaction();
List<Transaction> transactionsList = new List<Models.Transaction>();
HttpResponseMessage responseMessage = await client.GetAsync(url);
if (responseMessage.IsSuccessStatusCode)
{
var transactions = responseMessage.Content.ReadAsStringAsync().Result;
var parsedTransactions = JObject.Parse(transactions)["Table1"];
foreach (dynamic item in parsedTransactions)
{
Transaction.Accounts a = new Transaction.Accounts();
a.AccountId = item.account_id;
a.AccountName = item.AccountName;
transactionInfo.accounts.Add(a);
}
transactionsList.Add(transactionInfo);
return PartialView("_transactions", transactionsList);
}
return PartialView("Error");
}
编辑:
这就是触发它的原因:
var a = item.dates;
<div>
From:
<input id="fromDate" type="date" name="fromDate" value="@a.FromDate">
To:
<input id="toDate" type="date" value="@a.ToDate">
<button type="button" id="btn_transactions" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span></button>
</div>