什么是@section脚本及其用途 [英] What is @section scripts and what it is used for
问题描述
我已经从Microsoft网站下载了一个聊天示例.我一直在关注几个教程,但是在没有此C#代码块(@section脚本{})编写脚本之前,我从未见过@section脚本{},它似乎可以正常工作,但在此聊天应用程序实例中使用当我确实将脚本带到块外时发出R信号,它不起作用.
I have downloaded a chat example from the Microsoft website. I have been following several tutorials but I have never seen the @section script{} before I have done scripts without this block of c# code (@section script{}) and it seem to work fine but in this instance of the chat application using signal R when I do take the scripts outside the block it does not work.
@section scripts {
<!--Script references. -->
<!--The jQuery library is required and is referenced by default in _Layout.cshtml. -->
<!--Reference the SignalR library. -->
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="~/signalr/hubs"></script>
<!--SignalR script to update the chat page and send messages.-->
<script>
$(function () {
// Reference the auto-generated proxy for the hub.
var chat = $.connection.chatHub;
// Create a function that the hub can call back to display messages.
chat.client.addNewMessageToPage = function (name, message) {
// Add the message to the page.
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
};
// Get the user name and store it to prepend to messages.
$('#displayname').val(prompt('Enter your name:', ''));
// Set initial focus to message input box.
$('#message').focus();
// Start the connection.
$.connection.hub.start().done(function () {
$('#sendmessage').click(function () {
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
});
// This optional function html-encodes messages for display in the page.
function htmlEncode(value) {
var encodedValue = $('<div />').text(value).html();
return encodedValue;
}
</script>
}
推荐答案
section
允许您在视图中添加一些内容,然后将其添加到布局中.即:-
A section
allows you to add something in a view which will be added in the layout. ie:-
视图
@section scripts {
<script>
alert('foo');
</script>
}
布局
@RenderSection("scripts", false)
现在将在您在布局中指定的位置呈现此名为section
scripts 的脚本.
now this named section
scripts will be rendered where you have specified in the layout.
@RenderSection
也有2个签名:-
public HelperResult RenderSection(string name) // section required in the view
public HelperResult RenderSection(string name, bool required)
这篇关于什么是@section脚本及其用途的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!