我正在尝试抓取查看页面的用户名,以便在ajax调用中使用它来确定可以在模式上显示的内容。问题是变量保持返回为空字符串。
如果知道这一点很重要,那么变量是在contentHeader上声明的,而标记位于ItemTemplate上。谢谢你的帮助。
我的标记:
<div>
<asp:Label runat="server" ID="userName" ClientIDMode="Static" Text="<%# Security.CurrentUser %>" Style="display: none"></asp:Label>
</div>
我的剧本:
function validateUser() {
var user = $('#userName').val();
var vendorId = $('#VendorID_txt').val();
var js = {
user: user,
vendorId: vendorId
}
return $.ajax({
url: '/Common/Vendors/Vendors.asmx/GetBankInformationByUser',
type: 'POST',
async: false,
dataType: 'json',
data: js,
success: function(data) {
console.log(data);
}
});
}
答案 0 :(得分:0)
WebForms标签呈现为HTML <label>
。
属性“Text”是它生成的DOM-Node元素的innerHTML内容。
您正在尝试使用jQuery,我建议您尝试使用“.html()”功能。
看看这个工作示例:
// Waiting the DOM load
$(document).ready(function() {
// Getting the label innerHTML
console.info($('#userName').html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Asp:Label will render this: -->
<div>
<span id="userName" style="display: none">test</span>
</div>
以下是有关此功能的官方jQuery文档:http://api.jquery.com/html/