Как вызвать функцию ac # для заполнения значения в текстовом поле HTML бритвы? - PullRequest
0 голосов
/ 28 мая 2019

Я использую функцию, которая извлекает выходные данные из скрипта PowerShell в выходную переменную String.Мне нужно вызвать эту функцию внутри @HTMLTextBox для загрузки значения.

Я создал функцию и использую формат бритвы для вызова функции внутри элемента textbox.

@using System.Management.Automation
@functions {

public string PowerShellExecutor(string script) {
    var shell = PowerShell.Create();
    string outString = "";
    shell.Commands.AddScript(script);
    var results = shell.Invoke();
    if (results.Count>0)
    {
        var builder = new StringBuilder();
        foreach (var psObj in results)
        {
            builder.Append(psObj.BaseObject.ToString() + "\r\n");

        }
        outString = Server.HtmlEncode(builder.ToString());
    }
    return outString;
  }
}

<div class="col-md-12">
                @Html.TextBox("txtDirectory", @PowerShellExecutor("$env:USERDNSDOMAIN") , new { @class = "form-control", @type = "number"})
</div>

Текстовое полеПредполагается заполнить значение вывода, полученного при передаче команды через функцию.Тем не менее, он показывает пустым.

1 Ответ

1 голос
/ 28 мая 2019

Удалите @ для PowerShellExecutor, и вы также должны удалить @type = "number", чтобы текстовое поле могло принимать строку.

@Html.TextBox("txtDirectory", PowerShellExecutor("$env:USERDNSDOMAIN") , new { @class = "form-control"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...