我在转发器控件的详细信息部分中有链接按钮。在编辑时,asp.net 文本框将启用更改回颜色。在保存时,值将保存到数据库中。为了避免回发,我被迫更改服务器javascript函数的侧代码。如何在单击链接按钮时编写函数以在java脚本中执行相同的操作。对于更新链接按钮->是否可以在Javascript函数中执行相同的操作。
提前致谢。
<asp:LinkButton ID="lnkEdit" runat="server" CommandName="edit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "LicenseID") %>' CausesValidation="False" onClientClick="JSFunction();return false">Edit</asp:LinkButton>
<asp:LinkButton Visible="true" ID="LinkButton5" runat="server" CommandName="update" CommandArgument='<%# DataBinder.Eval (Container.DataItem, "LicenseID") %>' CausesValidation="False" onClientClick="MyJSFunction();return false" >Update</asp:LinkButton>
If e.CommandName = "edit" Then
DirectCast(e.Item.FindControl("TextBox2"), TextBox).Enabled = True
DirectCast(e.Item.FindControl("Textbox2"), TextBox).BorderStyle = BorderStyle.NotSet
DirectCast(e.Item.FindControl("Textbox2"), TextBox).BackColor = Drawing.Color.White
end if
If e.CommandName = "update" Then
Dim bookName As String = DirectCast(e.Item.FindControl("Textbox2"), TextBox).Text
Dim author As String = DirectCast(e.Item.FindControl("TextBox3"), TextBox).Text
Dim pub As String = DirectCast(e.Item.FindControl("TextBox4"), TextBox).Text
Dim price As String = DirectCast(e.Item.FindControl("TextBox5"), TextBox).Text
Dim adp As New SqlDataAdapter("Update abc set License= @License, StartDate=@StartDate,Renewal=@Renewal,VendorPONo=@VendorPONo where LicenseID = @LicenseID", con)
adp.SelectCommand.Parameters.AddWithValue("@LicenseName", bookName)
adp.SelectCommand.Parameters.AddWithValue("@StartDate", author)
adp.SelectCommand.Parameters.AddWithValue("@Renewal", pub)
adp.SelectCommand.Parameters.AddWithValue("@VendorPONo", price)
adp.SelectCommand.Parameters.AddWithValue("@LicenseID", e.CommandArgument)
Dim ds As New DataSet()
adp.Fill(ds)
BindRepeater()
End If
编辑
当我尝试启用如下文本框时,未声明“TextBox4”。由于显示其保护级别错误,它可能无法访问
<script type="text/javascript">
function MyJSFunction() {
var textBox = document.getElementById("<%=TextBox4.ClientID %>");
textBox.enabled = true;
textBox.focus();
}
</script>