Действительно существует только одно имя в XAML, x:Name
. Платформа, такая как WPF, может дополнительно отобразить одно из своих свойств к XAML's x:Name
при помощи RuntimeNamePropertyAttribute
на классе, который определяет одно из свойств классов как отображающийся на x:Name атрибут XAML.
причина, это было сделано, состояла в том, чтобы допускать платформы, которые уже имеют понятие "Name" во времени выполнения, таком как WPF. В WPF, например, FrameworkElement
представляет свойство Name.
В целом, класс не должен хранить название x:Name
, чтобы быть применимым. Весь x:Name
средство для XAML, генерируют поле для хранения значения в коде позади класса. То, что время выполнения делает с тем отображением, является зависимым платформы.
Так, почему там два способа сделать то же самое? Простой ответ - то, потому что существует два понятия, отображенные на одно свойство. WPF хочет название элемента, сохраненного во времени выполнения (который применим через, Связывают, среди прочего), и XAML должен знать, какие элементы Вы хотите быть доступными полями в коде позади класса. WPF связывает эти два путем маркировки свойства Name как псевдоним x:Name.
В будущем, XAML будет иметь больше использования для x:Name, такого как разрешение Вам установить свойства путем обращения к другим объектам по имени, но в 3,5 и предшествующий, это только используется для создания полей.
, Необходимо ли использовать один или другой, действительно вопрос о стиле, не технический. Я оставлю это другим для рекомендации.
См. также AutomationProperties. VS x:Name имени, AutomationProperties. Имя используется инструментами доступности и некоторыми инструментами тестирования.
Базовый элемент привязки HTML:
<a href="http://www.w3schools.com/"
target="_blank">Visit W3Schools!</a>
Элемент HyperLink ASP.NET WebForms:
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink>
Стиль ASP.NET MVC:
<%= Html.ActionLink<HomeController>(c => c.Index(), "Click me", new { target = "_blank" }) %>
Все три открывают новую вкладку, соответствует ли это вашим требованиям?
Если вы не используете javascript, вам нужно использовать target = "_ blank". Но чтобы сделать это более чистым способом mvc, выполните:
<%= Html.ActionLink("Click me", "ActionName", null, new {target="_blank"}) %>
<A Href="page.html" target="_blank">Link text </A>
The target="_blank" is the specific part you need.
Alternatively you could use target="new". Here's an article that describes how the two behave differently.
Если ваш вопрос - Как создать всплывающее окно в asp.net mvc
Простой ответ: не могу
В этом отношении вы можете Не в PHP, JSP или любом другом языке сценариев на стороне сервера.
Вы заметили, что все вышеперечисленные решения являются HTML?
Всплывающее окно - это домен, который должен обрабатываться на стороне клиента. Языки сервера могут выдавать HTML / Javsascript, у которых есть команды для открытия всплывающего окна. По сути, они не могут приказать браузеру открыть окно.