0

私は次のシナリオで立ち往生しています:

私の見解では、アイテムのリストがあります。項目が何を表しているかに応じて、項目をクリックすると適切なビューが表示され、それらの結果が表示されます。結果をビューに表示することは問題ではありません。それはうまくいっています。ただし、一部のアイテムはビューではなくポップアップに表示する必要があります。ダイアログを表示してデータをバインドするために、bPopup と ShowListDialog(data) のような javascript 関数と共に部分ビューを使用しています。アクションで必要な結果 (JavaScriptResult を疑っています) を返すときに、javascript 関数を呼び出すにはどうすればよいですか。

現時点で私の行動は次のようになるべきだと思います:

public ActionResult ResponseItem(int 参照) { ResponseBase 応答 = repository.RetrieveResponse(参照);

if (response.ShouldShowInView)
{
    return View(response.RedirectUrl, response.Data);
}
else
{
    return JavaScript("ShowListDialog(" + response.Data.JsonString + ");");
}

}

私はJavaScriptの結果を返す例を見てきましたが、それを機能させることさえできません。私が次のようなことを言うと:

return JavaScript("alert('Hello');");

次にIEで、javascriptファイルを開くかどうか尋ねられます。Chrome と Firefox では単に alert('Hello'); と表示されます。ページで。

事前に助けてくれてありがとう:) D

4

1 に答える 1

0

アイテムをループするとき、どれがポップアップで、どれがそれに基づいて2つの別々のアクションにリンクしていないかを判断できますか?

JavaScriptResult は、ajax を介してアクションを呼び出した場合にのみ機能するため、機能していない可能性があります (そうでない場合)。これを使用して、それが ajax リクエストであるかどうかを実際に判断し、適切な結果を返すことができます。

于 2011-04-28T14:00:40.453 に答える