【发布时间】:2015-10-05 19:10:08
【问题描述】:
这是我想通过ajax调用调用callme()方法的aspx.cs页面
public void callme()
{
if (ddlApprovalType.SelectedValue == "1") // location
{
BindDropdownlist(ddlLocation, "LOC");// LOC = Location
}
else if (ddlApprovalType.SelectedValue == "2") // process
{
BindDropdownlist(ddlLocation, "LOC");// LOC = Location
ddlProcess.Items.Clear();
ddlSubProcess.Items.Clear();
ddlProcess.Items.Insert(0, new ListItem()
{
Value = "select",
Text = "---Select---",
Selected = true
});
ddlSubProcess.Items.Insert(0, new ListItem()
{
Value = "select",
Text = "---Select---",
Selected = true
});
}
}
这是我的 .aspx 页面
<asp:DropDownList runat="server" ID="ddlApprovalType" AutoPostBack="True" class="clsapprovalType" Style="font-family: arial;
font-size: 13px; color: #353535; width: 200px; border: solid 1px #353535; background-color: transparent;" />
<script type="text/javascript">
$(".clsapprovalType").change(function () {
var approvalTypeVal = $j(this).val();
if (approvalTypeVal == "1") {
("#trlocation").show();
}
$.ajax({url:'mypage.aspx/callme', method:get});
});
</script>
如何在不使用更新面板的情况下使用 jquery 在 asp.net 中通过 $.ajax 访问 callme() 方法?
【问题讨论】:
-
要么设置一个 HttpHandler,要么看看WebMethods
-
@Andrei:尽管 OP 使用 web 方法。是否可以在 Web 方法中访问服务器控件?
-
@Suprabhat,当然不是。然后,如果使用,OP 将需要更改响应方式。但我明白了,更新面板在这里可能是一个更好的选择