.cshtml
というファイルに以下のコードがあります。ビュー上にラベルタグを動的にレンダリングできません
<div class="row">
<input type="text" placeholder="Enter POR ID" id="porID" class="col-md-2 input-sm" name="porTextBox">
<button class="btn btn-primary col-md-2 btn-sm" style="margin-left:15px;width:150px;" type="submit" id="btnCreateTFSItems"><strong>Create TFS Items</strong></button>
@if (TempData["formState"] != null)
{
//@Html.Label("lblsuccess", "Successfully created TFS Work Items!")
<label id="lblsuccess" style="color:green; visibility:visible"> Successfully created TFS Work Items!</label>
}
</div>
とボタンは、スクリプトタグ内の以下の機能を呼び出している:
<script type="text/javascript">
$(document).ready(function (e) {
$('#btnCreateTFSItems').click(function() {
var txt = $('#porID');
var errorLabel = $('#lblError');
if (txt.val() != null && txt.val() != '') {
//alert('clicked');
$.ajax({
url: '@Url.Action("CreateWorkItems", "Tables")',
type: 'POST',
data: { 'porTextBox': $('#porID').val() }
});
// alert('Successfully added');
}
else {
errorLabel.text("Please enter valid PORID");
return false;
}
});
$("#porID").keypress(function (e) {
var errorLabel = $('#lblError');
errorLabel.text("");
//if the letter is not digit then display error and don't type anything
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
}
});
});
問題が.cshtml
ファイルであり、それは条件をチェックしているが、そのラベルを追加することではありません。理由は、ページがラベルを表示するためにリフレッシュされていないためです。私はUI開発に新しいので、私はネット上で見つけた特定のオプションを試しましたが、動作させることはできませんでした。私はこれを達成する方法はありますか?
ラベルを追加しないとどういう意味ですか? 'keypress()'メソッドで空文字列に設定します(入力が空の場合にのみ値を与えます) –
ボタンタグの下にある別のdivにラベルを追加しようとしましたが、まだできませんその値を割り当てます。 –
ページが最初にレンダリングされるときの 'TempData [" formState "]'の値は何ですか? 'null'の場合、ラベルは存在しません。ここで何をしようとしているのか明確ではありません –