te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>c# - Want to make the visibility true from client side of the control which made invisible from server side - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

c# - Want to make the visibility true from client side of the control which made invisible from server side - Stack Overflow

programmeradmin2浏览0评论

I have a text box in a page. Whose visibility is set false from the server side. Now I want to make it visible from client side by using java-script. (Any post back or partial post back can not be implemented in this case.)

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ".dtd">
<html xmlns="" >
    <head id="Head1" runat="server">
        <title>ControlVisibilityClientSide</title>
            <script type="text/javascript">
                function toggleVisibility(controlId)
                {
                    var control = document.getElementById(controlId);
                    if(control.style.visibility == "visible" || control.style.visibility == "")
                        control.style.visibility = "hidden";
                    else
                        control.style.visibility = "visible";
                }
            </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <input type="button" ID="btnShowHide" value="Show/Hide" onclick="toggleVisibility('TextBox1');" />
            </div>
        </form>
    </body>
</html>

This is working fine.

But when I use

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox1.Visible = false;
    }
}

The above code is not working at all.

Can any one please help me out from this problem or any suggestion will be appreciated.

I have a text box in a page. Whose visibility is set false from the server side. Now I want to make it visible from client side by using java-script. (Any post back or partial post back can not be implemented in this case.)

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3/1999/xhtml" >
    <head id="Head1" runat="server">
        <title>ControlVisibilityClientSide</title>
            <script type="text/javascript">
                function toggleVisibility(controlId)
                {
                    var control = document.getElementById(controlId);
                    if(control.style.visibility == "visible" || control.style.visibility == "")
                        control.style.visibility = "hidden";
                    else
                        control.style.visibility = "visible";
                }
            </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <input type="button" ID="btnShowHide" value="Show/Hide" onclick="toggleVisibility('TextBox1');" />
            </div>
        </form>
    </body>
</html>

This is working fine.

But when I use

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox1.Visible = false;
    }
}

The above code is not working at all.

Can any one please help me out from this problem or any suggestion will be appreciated.

Share Improve this question edited Jun 6, 2011 at 6:20 Muhammad Akhtar 52.2k37 gold badges139 silver badges191 bronze badges asked Jun 6, 2011 at 4:55 Arindam RudraArindam Rudra 6242 gold badges9 silver badges24 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 8

If you set the control visible=false it will not render at client side, But there is a tricky solution, that will acplish the same thing.

In your page load, where you are set Visible=false, you can set the style to display:none

protected void Page_Load(object sender, EventArgs e)
{
   TextBox1.Attributes.Add("style", "display:none");
}

It will render the control in client side, but user can't see and then you can visible the control in Javascript function to set style Diplay:block, LIKE...

document.getElementById('<%=TextBox2.ClientID %>').style.display = 'block';

Once control is marked as invisible at server side, no mark-up (html) is emitted for it. So it cannot be made visible at JS, because it (corresponding html) does not exists at client side.

Instead of making invisible at server side, you need to emit a start-up script to hide it on client side.

set the style["visibility"] = "hidden" on the server side. I.E. in c# btnSave.style["visibility"] = "hidden"; It will get the button rendered and therefore on the client side this element is accessible. On the client side change the visibility style to visible.

$('#btnSave).css("visibility", "visible");

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论