작동하지 않습니다 호출 :이동일한 컨트롤러 방법은 다시는 내 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);
}
. 여태까지는 그런대로 잘됐다. 페이지에는 기호가있는 드롭 다운 목록이 있습니다. 하나를 선택하면 다음과 같은 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>
을 사용함으로써, 고정 :
<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