我想做this但是在asp.net中。我将如何在asp.net /后面的代码中写这个?我已经
了protected void chkBox_CheckedChanged(object sender, EventArgs e)
{
if (chkBox.Checked){}
else{}
}
与
<asp:Checkbox ID="chkBox" AutoPostBack="True" runat="server"
onCheckedChanged="chkBox_CheckedChanged" />
所以我需要帮助填补其余部分。说真的,非常感谢!
更新2:
此方法有效,但message / div显示的时间不足以读取文本。发现它是由于AutoPostBack="true"
。 AutoPostBack完成后如何调用该事件(我猜这是我解决问题所需要的)?
function displayDiv(checkbox) {
if (checkbox.checked) {
$("#message1").stop(true, true).show().fadeOut(10000);
$("#message2").hide();
}
else {
$("#message1").stop(true, true).hide();
$("#message2").stop(true, true).show().fadeOut(10000);
}
}
<asp:CheckBox ID="chkNotifyMe" AutoPostBack="True" runat="server" OnCheckedChanged="chkNotifyMe_CheckedChanged" onclick="displayDiv(this)" />
<div id="message1" class="message" ><span>Successfully <small></small></span></div><br />
<div id="message2" class="message" ><span>Removed<small></small></span></div>
(所有css都是一样的)
如此接近我可以尝到它:D再次感谢!
最终解决方案 好吧,我把它添加到我的页面,通过jQuery调用AutoPostBack,发布后,显示我的消息
function pageLoad() {
<%# autoLaunchJS %>
$("#chkNotifyMe").click(chkNotifyMe_clicked);
}
function chkNotifyMe_clicked(){
var add = $get("chkNotifyMe").checked == true;
PageMethods.WishList(add, <%#ID%>, OnSucceeded, OnFailed);
}
function OnSucceeded(){
refreshStartPage();
if($get("chkNotifyMe").checked){
$("#messageSuccess").stop(true, true).show().fadeOut(5000);
$("#messageRemove").hide();
}
else{
$("#messageSuccess").stop(true, true).hide();
$("#messageRemove").stop(true, true).show().fadeOut(5000);
}
}
答案 0 :(得分:2)
您可以同时拥有服务器控件的客户端代码和服务器逻辑。如果你想要做的那个div的显示,那么它是纯粹的视图逻辑,它肯定与javascript和回发到服务器并刷新视图是浪费。
您可以稍微更改您的javascript来执行此操作
function displayDiv(checkBox) {
if (checkBox.checked) {
$("#message1").stop(true,true).show().fadeOut(4000);
$("#message2").hide();
}
else {
$("#message1").stop(true,true).hide();
$("#message2").stop(true,true).show().fadeOut(4000);
}
}
和
<asp:Checkbox ID="chkBox" AutoPostBack="True" runat="server"
onCheckedChanged="chkBox_CheckedChanged" onclick="displayDiv(this)" />
答案 1 :(得分:1)
使用该css
创建标签<asp:Label id="lblChkchnged" runat="server" CssClass="message" Visible="False" />
然后在您的检查更改事件中设置代码
lblChkchnged.visible = true;
lblChkchnged.text = chkBoc.Checked ? "Checked" : "Unchecked";
虽然为什么不把它留作客户电话,除非你需要做更多的事情呢?