だから私はすべてを試しましたが、小さな部分的なビューを返してdiv要素に配置することはできません。これは私の親の見解です
<button id="doctors">Doktori</button>
<button id="apointments"> Pregledi</button>
<div id="someDiv">
</div>
<script>
document.getElementById("doctors").onclick = function () { myFunction() };
function myFunction() {
$("#someDiv").load("@Html.Raw(Url.Action("doctorsview", "HomeController")) ")
}
</script>
.load()関数の前にalert( "message")を配置すると、メッセージが表示されますが、.load()の後に配置すると、表示されません。私はhtml.raw()の有無にかかわらず試しました。これは私のコントローラーのアクションです
public ActionResult doctorsview()
{
return PartialView("~/Views/_Doktor.cshtml", new Doktor());
}
どこが間違っているのですか?
HomeController
の完全な名前を渡す必要はありません。Url.Action()
では、コントローラー名のプレフィックスを渡す必要があります。コントローラーを作成するとき、mvcにController
の接尾辞を追加し、ヘルパーで使用するときController
接頭辞なしでコントローラ名を渡す必要があります:
public class HomeController: Controller
{
public ActionResult doctorsview()
{
return PartialView("~/Views/_Doktor.cshtml", new Doktor());
}
}
このようにしてください:
$("#someDiv").load('@Url.Action("doctorsview","Home")');
コントローラのそれぞれのViewsディレクトリに配置する必要があります。この場合はViews-> Home