Как получить кнопку ввода html для правильного отображения ввода ключ / значение resource.resx? - PullRequest
0 голосов
/ 26 сентября 2019

Это упрощенная демонстрация проблемы.не будет отображать строку, разделенную пробелом.

@{
    var  myString = "worda wordb wordc";
}
<div class="row">
    <input value=@myString>
</div>

При использовании файла ресурсов C # для поддержки нескольких языков у меня возникли проблемы с кнопками ввода веб-страницы.Они не будут отображать все данные, кроме значений файла ресурсов.Эти же данные будут отображаться правильно с использованием других тегов html.

enter image description here

Создать проект MVC по умолчанию> Добавить свойства \ resource.resx> добавить одну запись в файл (убедитесь, что значение имеет более одного слова)> установить свойства файла Custom Tool = PublicResXFileCodeGenerator> изменить index.cshtml на этот код> установить браузер chrome> запустить проект.Обратите внимание, что входной тег не будет отображать все данные из файла ресурсов должным образом, но другие HTML-теги будут отображаться.

resources.resx

  <data name="updated_information_btn" xml:space="preserve">
    <value>Word1 Word2 Word3</value>
  </data>

index.cshtml

@using TestBnResourceFile.Properties
<div class="jumbotron">
    <h2>Testing button value displayed</h2>
    <p>
        Button has problem displaying all words of resource file key.
    </p>
</div>

<div class="row">
    <h2>
        <span>"Resources.updated_information_btn" value:</span> @Resources.updated_information_btn
    </h2>
</div>
<div class="row">
    <input type="submit" name="submitbtn1" value=@Resources.updated_information_btn class="submitbtn">
</div>
<div class="row">
    <input type="submit" name="submitbtn2" value=@Resources.updated_information_btn>
</div>
<div class="row">
    <input name="submitbtn3" value=@Resources.updated_information_btn>
</div>
<div class="row">
    <input value=@Resources.updated_information_btn>
</div>

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Использование двойных кавычек вокруг переменной решило эту проблему.

@{
    var  myString = "worda wordb wordc";
}
<div class="row">
    <input value="@myString">
</div>
0 голосов
/ 26 сентября 2019

Это потому, что вам нужно ссылаться на строковое значение следующим образом:

<div class="row">
   <input type="text" name="date" value="<%= ResourceValue %>" />
</div>

Итак, если вы хотите связать значение ресурса, вы можете присвоить его строковой переменной var, а затем установить ее:

private string ResourceValue{ get; set; }

protected void Page_Load(object sender, EventArgs e)
{
   this.ResourceValue = @Resources.resource_value;
}

Дайте мне знать, если это поможет, ура.

...