Translate

2013年11月20日 星期三

div置中

有時後會遇到需要div畫面置中的情況

.float_windows_background {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background-repeat: repeat;
z-index: 80;
}
   


<div class="float_windows_background">
        <div id="Div1" style="width: 100%; height: 100%; vertical-align: middle; text-align: center;">
            <span id="float_windows_top" style="height: 50%; display: inline-block;"></span>
            <div class="float_windows_detail" style="text-align: center;">
                <%-- 內容放此--%>
            </div>
        </div>
</div>


var divdetail = $('.float_windows_detail');  
$(document).ready(function () {
        var detailh = parseInt('100') + 10; //高度為100
        divdetail.height(detailh);
        var margintop = "-" + (detailh / 2).toString() + "px";
        $(".float_windows_detail").css({ "margin-top": margintop });
    });


解說:
先讓畫面div佔一半,然後再讓div2設定好位置移上去即可

2013年11月7日 星期四

asp.net呼叫javascript代入參數


   <asp:LinkButton ID="link" runat="server"  OnClientClick='<%# "test(\"" + Eval("id") +"\")" %>' />

    <script type="text/javascript">
        function test(s) {
            alert(s);
        }
    </script>

2013年9月18日 星期三

2013年9月9日 星期一

Iframe使用TempData消失

遇到一個很奇怪的問題
每次存完MVC TempData後,接下來要用就找不到了
(當用IFrame使用MVC頁面時)
後來發現只有IE才會發生,解決方法如下

 //因為IFrame,IE會無法存取Session,故加上此
 Response.AddHeader("P3P", "CP=\"CAO PSA OUR\"");
TempData["username"] = username;


參考網址ref→http://renjin.blogspot.tw/2008/02/p3p.html

網頁應用程式設計

https://cacoo.com/

應用程式跟網頁設計的好用工具
很方便設計檔

dataGridView 核對欄位設定全選欄位

先宣告一個控制項目gvckall,之後再取得dataGridView1裡的chk欄位控制項的位置,將位置設定好即可

使用時機
Form1()
dataGridView1_ColumnWidthChanged

程式碼參考

        void InitColumnHeader()
        {
            dataGridView1.Controls.Add(gvckall);
            int ix = (dataGridView1.RowHeadersWidth + chk.Width / 2 - gvckall.Width / 2);
            int iy = (dataGridView1.ColumnHeadersHeight / 2 - gvckall.Height / 2);
            gvckall.Location = new Point(ix, iy);
 //chk.MinimumWidth = gvckall.Width;  //最小寬度設定
        }

DataGridView第一欄調整寬度

List<string> ls = new List<string>(); //資料筆數
dataGridView1.TopLeftHeaderCell.Value = "序號";
 int iwidt = ls.Count.ToString().Length; //判定目前數字有幾位數
dataGridView1.RowHeadersWidth = 20 * iwidt + 20;

2013年7月26日 星期五

GridView EditTemplate下拉式選單編輯


通常直接在GridView 編輯狀態的時後都是使用TextBox來輸入更新資料
但若希望使用下拉式選單選擇資料可以採取以下的作法

做法如下
初始化DropDownList的資料
並設置選取的DateText及DataValue

  <asp:GridView ID="GridView1" runat="server" DataSourceID="EntityDataSource1"
 AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="seqid" >
                    <Columns>

                 <asp:TemplateField HeaderText="尺寸" SortExpression="pmid">
                            <EditItemTemplate>
                                <asp:DropDownList ID="gvtype" runat="server" DataTextField="Text" DataValueField="Value" SelectedValue='<%# Bind("size") %>' OnInit="DropDownList1_Init" />
                            </EditItemTemplate>
                            <ItemTemplate><%# Eval("size")%></ItemTemplate>
                        </asp:TemplateField>

                     <asp:TemplateField HeaderText="設定" ShowHeader="False">
                            <EditItemTemplate>
                                <asp:LinkButton ID="lbtn1" runat="server" CausesValidation="True"  CommandName="Update" Text="更新" />
                                <asp:LinkButton ID="lbtn2" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消" />
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:LinkButton ID="EditBtn" runat="server" CausesValidation="False" CommandName="Edit" Text=" 編輯" />
                            </ItemTemplate>
                            <ItemStyle Width="70px" />
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>


c#.cs:

       protected void DropDownList1_Init(object sender, EventArgs e)
        {
            DropDownList dl = sender as DropDownList;
            dl.DataSource = new List<ListItem>()
                {
                    new ListItem(){ Text ="S", Value="0"},
                    new ListItem(){ Text ="M", Value="1"},
                    new ListItem(){ Text ="L", Value="2"},
                };
        }

2013年7月24日 星期三

Rss Reader

線上小畫家

Enter鍵按下後自動執行事件

兩種寫法:

1.javascript dopostback

<div id="divPanel">
    <asp:TextBox ID="txbContent"  runat="server" Width="60%" />
    <asp:LinkButton ID="butAdd" runat="server" Text="新增" OnClick="butAdd_Click" />
</div>

    <script type="text/javascript">
        $(document).keypress(function (e) {
            if ($('#divPanel').is(":visible") && e.which == 13) {
                __doPostBack('<%=butAdd.UniqueID%>', "");
            }
        });
    </script>

UniqueID詳細說明:

2.panel

用panel將要的元件包起來
並設定好defaultbutton屬性為Enter鍵後執行的buttonID

ex:
                <asp:Panel ID="pAdd" runat="server" DefaultButton="butAdd">
                        <asp:TextBox ID="txbContent"  runat="server" Width="60%" />
                        <asp:LinkButton ID="butAdd" runat="server" Text="新增" OnClick="butAdd_Click" />
                    </div>
                </asp:Panel>

參考:

2013年6月5日 星期三

google好用工具:網頁翻譯+search


google翻譯


<div id="google_translate_element"></div><script> 
function googleTranslateElementInit() { 
  new google.translate.TranslateElement({ 
    pageLanguage: 'zh-TW' 
  }, 'google_translate_element'); 

</script><script src =" 
http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script >

資料來源


google查詢

http://justcoding.iteye.com/blog/814561

http://www.google.com/cse/create/new


2013年5月31日 星期五

Binding TextBox Null Value

當你的資料庫欄位給予你的string→其實一開始就是null

這時後當你更新之後,你會發現總是跳出錯誤訊息,解決方法如下

note這個字串一開始初始化是null

  <asp:TextBox ID="txtinput" runat="server"  Text='<%# Bind("note") %>' ></asp:TextBox>

解法方法:只要判定為舊值為null時給予空白字串即可更新
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            if (e.OldValues["note"] == null) e.OldValues["note"] = "";
        }


參考連結:

Binding a nullable int to an TextBox

2013年4月23日 星期二

tab datapicker同時使用時…

當你的tab有datapicker,你會發現datapicker竟然失去了效用

明明就看得到,也呼叫的出來,但是怎麼點就沒應

這時後只要在重新在使用datapicker要用的時後,在呼叫一下連結
跟設定就可以了 :)

<script src="/Scripts/jquery-ui-datepicker-zh-Hant.js" type="text/javascript"></script>
$(function () { $(".datepicker").datepicker(); });