Бритва вызывает функцию при нажатии кнопки - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу изменить текст диапазона на значение текстового поля при нажатии кнопки. Я сделал этот код, но он не работает. Кажется, что значение Name изменяется, но оно не меняет значение диапазона. Как я могу это сделать?

@{
   string name = "";
   string Name = "";
   void ok()
   {
       Name = name;
   }
}
<input type="Text" value="@name"/>
<button onclick="@{ok();}">OK</button>
<span>@Name</span>

1 Ответ

0 голосов
/ 24 апреля 2020

Вы должны понимать разницу между кодом на стороне клиента и на стороне сервера. Вам нужно будет определить для него javascript функцию:

<input id="textBoxName" type="Text" value="@name"/>
<button onclick="ok();">OK</button>
<span id="nameSpan">@Name</span>

и определить функцию сверху, например:

<script type="text/javascript">

function ok() {
      $("#nameSpan").html($("#textBoxName").val());      
}
</script>

В приложениях на базе Blazor нам не нужны js больше и может быть сделано все с c#.

Ваш окончательный код будет выглядеть так:

function ok() {
      $("#nameSpan").html($("#textBoxName").val());      
}
</script>

<input id="textBoxName" type="Text"/>
<button onclick="ok();">OK</button>
<span id="nameSpan"></span>
...