我正在使用Ajax从数据库中调用一些方法 此方法从页面获取参数 并从数据库中获取一些值 我想通过访问Web方法中的这些控件将结果填充到页面控件。
以下是我的代码。我正在使用可折叠面板扩展器。在点击事件上它崩溃了&应该调用后面编写的verifyFunction方法。
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="True"></asp:ToolkitScriptManager>
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
<asp:CollapsiblePanelExtender ID="cpeSOP" runat="Server" CollapseControlID="LinkButton1"
CollapsedSize="0" Collapsed="True" CollapsedImage="~/imgages/addRow.gif"
ExpandControlID="LinkButton1" ExpandDirection="Vertical" ExpandedImage="~/imgages/addRow.gif"
ImageControlID="Image1" SuppressPostBack="true" TargetControlID="Panel1">
<!-- JAVASCRIPT CONTENT -->
<script type="text/javascript">
function pageLoad(sender,args){
$find("collapsibleBehavior").add_expandComplete( expandHandler );
$find("collapsibleBehavior").add_collapseComplete( collapseHandler );
}
function expandHandler( sender , args ){
alert('I have expanded');
// NewPlanBudget.aspx/verifyFunction
$.ajax(
{
url: "NewPlanBudget.aspx/verifyFunction",
data: "flag=1",
success: function (msg) {
if (msg.d) {
alert("Sucess");
}
}
});
}
function collapseHandler( sender , args ){
alert('I have collapsed');
}
背后的代码是
[的WebMethod]
protected void Page_Load(object sender, EventArgs e)
{
cpeSOP.BehaviorID = "collapsibleBehavior";
}
public static void verifyFunction()
{
LinkButton1.Text = "Hello";
}
答案 0 :(得分:0)
我认为您无法在Web方法中访问页面控件,但您可以将结果返回到ajax并且必须获得结果
并发布您的示例代码,我不知道您为什么要在网络方法中调用页面加载,
并且脚本必须是
$.ajax(
{
url: "NewPlanBudget.aspx/verifyFunction",
data: {flag="1"},
success: function (msg) {
if (msg.d) {
alert("Sucess");
}
}
});
并且您必须在web-method中获取值
public static void verifyFunction(string flag)
{
}
并在设计页面本身为链接按钮命名
作为
<asp:LinkButton ID="LinkButton1" Text="Hello" runat="server">LinkButton</asp:LinkButton>
答案 1 :(得分:-1)
Data Space Total