js関数launchMyActivity()にもう1つのパラメータを指定してModelオブジェクト全体を渡そうとしています。機能はそれを取得していません。私がaler(passedObject.length)
をしたとき、それは未確認のものです。はModelオブジェクトをjavascript関数に渡すことができません
私は他のことを試みましたが、何も機能しませんでした。 Referred this but didnt worked
私の実装で何が問題なのかよくわかりません。
モデル:
public class RequestDTO
{
public HttpRequestBase RequestDto { get; set; }
public List<User> Users { get; set; }
public string ActionId { get; set; }
public string UserSampleID { get; set; }
}
ビュー:
@model RequestDTO
<body>
@Scripts.Render("~/bundle/js/Area/SelectedStudentActivity")
<div class='popOver' style="z-index: 1012;">
<div id='popOverMsg'>Select the student you want to Launch this Activity for:..</div><br /><br />
@foreach(var user in Model.Users)
{
<a id="selectedAnchor" data-id="@user.id" style="cursor:pointer" onclick="launchMyActivity(@user.UserID,@Model)">@user.name</a><br />
}
</div>
</body>
JS:
function launchMyActivity(studentSISId, requestDTO)
{
alert("Lenght : " + requestDTO.length); //I get undefined here
//Below this I need to make AJAX call and pass this requestDTO object.
}
モデルはC#オブジェクトですが、JavaScriptに渡そうとしています。あなたはそれをjavascriptで理解できるようにそれをjsonifyする必要があります。 – nurdyguy
これを試してください:http://stackoverflow.com/questions/6201529/turn-c-sharp-object-into-a-json-string-in-net-4 – nurdyguy
CSHTMLを使用していますか?この関数を試してみてください。launchMyActivity(studentSISId) { alert( "Lenght:" + @ Model.length); } – Shan