我想知道如何我可以从我的HTML按钮/下拉菜单在C#中的文本?通过asp.net dropdownlist,我能够做到string text = dropdownlist.Value;但它看起来并不那么简单,或者它可能是,具有不同类型的下拉菜单。我不能使用asp下拉列表,因为它没有充当按钮和下拉菜单。以下功能用于将文本从默认的“高级”更改为用户选定的项目文本。在用户更改按钮文本后,我想抓住该文本并将其用作sqlbuild.where子句的条件。此外,更新后的按钮的文本应保持在单击搜索按钮后。与ASP下拉列表中的值保持在刷新后,但由于某种原因,当我搜索时更新的下拉菜单,改变擦拭选择后提交获取HTML按钮/下拉文本从C#代码
Something like this is what i had in mind to do:
// get advancedsearch value
string selectedTxt = AdvancedSearch.value;
//filter on selected value
if (selectedTxt == "item1")
{
sqlbuilder.where = ("[email protected]");
}
else if (selectedTxt == "item2")
{
sqlbuild.where = ("[email protected]");
etc
// container for button/dropdown menu
<div class="container">
<div class="row buffer">
<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 ">
<div class="input-group" role="group" >
<div class="input-group-btn" role="group">
<asp:Button runat="server" class="btn btn-secondary dropdown-toggle" id="AdvancedSearch" data-toggle="dropdown" OnClientClick="AdvancedSubmit();" style="background-color:#718CA1;color:#FFF;" Text="Advanced:" />
<ul class="dropdown-menu" runat="server" id="dropdown" style="background-color:#718CA1;color:#FFF;">
<li><a class="dropdown-item" href="#" data-value="asset">item1</a></li>
<li><a class="dropdown-item" href="#" data-value="building">item2</a></li>
<li><a class="dropdown-item" href="#" data-value="astmgrbems">item3</a></li>
</ul>
</div>
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-center">
<div class="input-group" role="group">
<input type="text" id="InquiryInput2" onblur="javascript:removeSpaces()" style="display:none" runat="server" class="form-control" Width="280px" />
</div>
</div>
</div>
</div>
编辑 - 意识到我忘了补充功能如果有帮助
function AdvancedSubmit(){ var obj = document.getElementById('<%= InquiryInput2.ClientID%>');
if (obj.style.display == 'none') {
obj.style.display = 'block';
}
};
$(function() {
$(".dropdown-menu li a").click(function() {
var selText = $(this).text();
/* $(".btn btn-secondary").html(selText);*/
alert(selText);
document.getElementById('<%=AdvancedSearch.ClientID%>').value = selText;
})
});
看起来你正在使用'Text'属性;它会不会是'button.Text'? – Whothehellisthat
页面上的按钮文字是否真的发生变化?如果是这样,则不会将其与表单一起发布。也许你可以为此添加一个隐藏字段,并在按钮的值的同时更改该值? – Whothehellisthat
@Whathehellisthat是按钮文本实际上是通过我刚刚粘贴的功能在页面上改变的。对不起,忘了添加它,虽然我提到它。所以你说我可以在前端添加一个隐藏的字段来捕获html selText的变化,然后用它作为c#端的过滤器? – ryan45366