我如何从javascript调用代码隐藏方法

本文关键字:代码 隐藏 方法 调用 javascript | 更新日期: 2023-09-27 18:15:32

大家好,我有w的方法,使用点击事件改变图像的不透明度,并将此图像保存在文件夹中。我想做的是,我想调用这个方法使用onmouseup事件并在div中自动预览img。我有这样的代码:

<asp:ScriptManager EnablePartialRendering="true" ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional><ContentTemplate>
<input max="10" min="0" name="rangeInput" onmousemove="updateTextInput(this.value);" onmouseup="return showImg()" type="range" runat="server" />
<input id="txtOp" size="3" type="text" value="" runat="server" />
<asp:Button ID="bntChangeOpacity" runat="server" onClick="bntChangeOpacity_Click1" Text="Change Opacity" />
        <div id="placehere"></div>
</ContentTemplate>
</asp:UpdatePanel>

所以这里我想替换bntChangeOpacity_Click1方法被称为onmouseup事件

后面的代码:

public void bntChangeOpacity_Click1(object sender, EventArgs e)
    {
        string s = txtOp.Value;
        float ss = float.Parse(s);
        float opacityvalue = ss / 10;
        var img = ImageTransparency.ChangeOpacity(Image.FromFile(Server.MapPath("img1.jpg")), opacityvalue);
        img.Save(Server.MapPath("img2.jpg"));
    }

我如何从javascript调用代码隐藏方法

你必须把它作为一个webmethod innorder从前端调用它;更改方法签名如下:

[WebMethod]
public static void bntChangeOpacity_Click1(object sender, EventArgs e)
{
    string s = txtOp.Value;
    float ss = float.Parse(s);
    float opacityvalue = ss / 10;
    var img = ImageTransparency.ChangeOpacity(Image.FromFile(HttpContext.Current.Server.MapPath("img1.jpg")), opacityvalue);
    img.Save(HttpContext.Current.Server.MapPath("img2.jpg"));
}

您可以使用PageMethods。让你的方法是静态的,并使用WebMethod属性来装饰它,如下所示

[System.Web.Services.WebMethod]
public static void ChangeOpacity()
    {
        string s = txtOp.Value;
        float ss = float.Parse(s);
        float opacityvalue = ss / 10;
        var img = ImageTransparency.ChangeOpacity(Image.FromFile(Server.MapPath("img1.jpg")), opacityvalue);
        img.Save(Server.MapPath("img2.jpg"));
    }

并将其命名为like函数changeOpacity() {PageMethods.ChangeOpacity ();}

从javascript。

你需要改变bntChangeOpacity标记如下。

<asp:Button ID="bntChangeOpacity" runat="server" onClientClick="changeOpacity()" Text="Change Opacity" />

别忘了在页面上使用ScriptManager

请查看示例代码

http://www.codeproject.com/Articles/180355/Calling-a-code-behind-function-from-JavaScript

否则你需要做Ajaxcall。