[英]passing a Url.Action to a react JSX file?
本教程說:
請注意,在真實的應用程序中,您應該生成URL(通過Url.Action調用)在服務器端並將其傳遞下來,或者使用RouteJ而不是對其進行硬編碼。 為了簡單起見,本教程對其進行了硬編碼。
我無法在JS本身中做到這一點: <CommentBox url="@Url.Action("Comments")" />,
...那么“傳遞下去”是什么意思?
是否只是這樣說“在允許使用@
的Razor csHtml文件中定義URL,”這樣的另一種說法?
<script>
$.CommentsUrl = '@this.Url.Action("Comments", "Home")';
<script>
... 或者,還有更好的方法?
即使我做后者,也無濟於事把URL插入這段代碼中:
ReactDOM.render(
<CommentBox url=??? />,
document.getElementById('content')
);
以下代碼實際上是在cshtml剃刀頁面中完成的。 它將CommentBox組件呈現到內容div
ReactDOM.render(
<CommentBox url=??? />,
document.getElementById('content')
);
由於它在cshtml中,因此您可以執行以下操作:
<div id="content"></div>
<script type="text/javascript">
ReactDOM.render(
<CommentBox url='@Url.Action("Comments")' />,
document.getElementById('content')
);
</script>
如果僅包括一個js文件,則需要創建一個全局javascript變量並使用它:
CSHTML:
<div id="content"></div>
<script type="text/javascript">
var commentUrl = '@Url.Action("Comments")';
</script>
外部JS:
ReactDOM.render(
<CommentBox url={commentUrl} />,
document.getElementById('content')
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.