を動作しません呼び出す:これは同じコントローラメソッドが再び私WriteupController.csに、私は次のコントローラメソッドを持っている
<a href="@Url.Action("Writeups", "Writeup", new { symbol = item.SecSymbol, status = item.Status, mktDate = "10/10/2010", writeupDate = "10/11/2010" })
を使用して呼び出されると、適切なビューCSHTMLが表示され
public async Task<ActionResult> Writeups(string symbol, string status,
DateTime? mktDate, DateTime? writeupDate)
{
// get datamodel
return View(datamodel);
}
。ここまでは順調ですね。ページには記号でドロップダウンリストがあります。 1つを選択すると、次のajaxコールがあります。
$("#companiesDDL").change(function() {
var postdata = { "symbol": "1099.HK", "status": "A", "mktDate": "10/10/2010", "writeupDate": "10/10/2010" };
$.ajax({
url: '@Url.Action("Writeups", "Writeup")',
dataType: "json",
data: postdata,
success: function (result, status, xhr) {
alert("Result: " + status + " " + xhr.status + " " + xhr.statusText)
},
error: function (xhr, status, error) {
}
});
});
ご覧のとおり、URLは同じです。デバッグする際には、コントローラメソッドのデータモデル内の正しいデータと、cshtmlビュー自体を見ることができます。ただし、ページが読み込まれません。つまり、新しいシンボルの情報は表示されません。この問題を解決するにはどうすればよいですか?
編集:
以下は私の見解です。前述したように、もともと私はCompDescShortを見ています。しかし、私がアヤックスから電話をしたときはそうではありません。
<textarea name="editor" id="editor" rows="10" cols="80">
@if (Model.Count > 0)
{
@Model.CompDescShort
}
</textarea>
が使用することにより、FIXED:
<select id="companiesDDL" class="tmpdisplay" style="margin-left: 15px;" onchange="location.href=this.value">
@foreach (var item in Model.companyList)
{
<option value='@Url.Action("Writeups", "Writeup", new { symbol = item.SecSymbol, status = "A" })'>@item.SecDesc</option>
}
</select>
アクションの結果はどうしますか? Divに挿入し、新しいタブで開きますか?現在のウィンドウに読み込みますか?または現在のページの部分的な部分を更新するための情報を受け取る必要がありますか? – Mauri
編集をご覧ください。同様のテキストエリアなどがあります。選択したシンボルのデータとともに、同じページを表示したいだけです。 – Scott
ポストの後に 'alert()'がヒットしていますか? – DiskJunky