2016年7月21日 星期四

GridTemplateColumn 裡使用 ItemTemplate 做 IF ELse 顯示資料

問題:如何在 telerik:GridTemplateColumn 的 ItemTemplate 使用 IF , 使用 <%#iif 行不通,發生iif未定義。

其他辦法:使用其他元件,設定 Visible = True or False。

<telerik:gridtemplatecolumn headertext="Result" uniquename="ResultString">
  <itemtemplate>
    <asp:panel runat="server" visible="<%# Eval("ResultString")!=""%>">
       <div class="ResultString" style="display: none">
        <%#Eval("ResultString") %>
       </div>
    </asp:panel>
    <asp:panel runat="server" visible="<%# Eval("ResultString")==""%>">
       <div class="ResultString" style="display: none">
        No Data
       </div>
    </asp:panel>
  </itemtemplate>
</telerik:gridtemplatecolumn>
Refer:

2016年7月13日 星期三

[ASP.NET] 當某條件失敗,自訂驗證訊息加到頁面

問題:當某條件失敗,自訂驗證訊息加到頁面。

代碼:


var val = new CustomValidator() 
{ 
   ErrorMessage = "Error Message!!", 
   Display = ValidatorDisplay.None, 
   IsValid = false, 
   ValidationGroup = "Group" 
}; 
Page.Validators.Add(val); 

[ASP.NET] SqlDataSource 有null參數時,不會送出查詢

Refer: http://forums.asp.net/t/963932.aspx?How+to+pass+a+null+to+SelectParameters+in+SqlDataSource+

問題:當遇到有多項參數,但不是每項參數都是必要的參數,SqlDataSource 預設有Null參數時不會送出查詢。

解決方式:設定屬性 「CancelSelectOnNullParameter」為「false」

2016年7月11日 星期一

[MSSQL] How to enable SSL encryption for an instance of SQL Server by using Microsoft Management Console

Refer:

 

  • 問題1:無法載入使用者指定的憑證 [Cert Hash(sha1) "*****************"]。伺服器將不會接受連接。您應該確認已正確安裝憑證。請參閱線上叢書中的<設定 SSL 使用的憑證>。
    解答1:匯入憑證後,需再設定憑證權限,在憑證點選右鍵=>選「所有工作」=>選「管理私密金鑰」,設本機的 NT Service\MSSQLSERVER 權限可讀。

2016年7月3日 星期日

Remove RadGrid DetailTables AutoGeneratedColums

Refer:

Problem: I can’t take the result by using RadGrid’s ItemCommand() that autogenerated fixed columns once created. So I can’t get dynamic detail tables.

 

Solution: Should use RadGrid’s PreRender() . This is an important concept here.


protected void MainList_PreRender(object sender, EventArgs e)
{
    RadGrid thisGrid = sender as RadGrid;
    thisGrid.MasterTableView.DetailTables.Clear();
    thisGrid.MasterTableView.DetailTables.Add(new GridTableView());
    foreach (GridDataItem item in MainList.MasterTableView.Items)
    {
        if (item.Expanded)
        {
            GridTableView nestedView = (GridTableView)item.ChildItem.NestedTableViews[0];

            nestedView.DataSource = your_dataSource;
            nestedView.DataBind();
        }
    } 
}

 

[C#] LinqDataSource by using FK to Get data, using two tables

Description: I want to show Table1 through PK2.

DB ERD:

(Table1,PK1)----(Relation_Table2_has_Table1, contained the Primary Key of Table1,Table2)----(Table2,PK2)

ASP.Net Code:

<asp:linqdatasource id="LinqDataSource1" runat="server" contexttypename="LinQDataContext" enableupdate="True" entitytypename="" tablename="Table1" where="Relation_Table2_has_Table1.Any(PK2==@data)">
    <whereparameters>
        <asp:sessionparameter name="data" sessionfield="data" type="String" />
    </whereparameters>
</asp:linqdatasource>

If @data is Int, then PK2==Int32?(@data)

Refer: http://forumarray.com/c-binding-linqdatasource-to-two-separate-table-516379

Visual Studio 2010 “Server Explorer”, “LinqToSQL DBML” Bug

LinqToSQL DBML with re-dragging tables from VS Server Explorer, there is a Bug:

當資料庫表格及關連都建立好了之後,修改一個誤打的欄位名稱,再重新抓表格,結果DBML檔不會自動建立關係,需要重新命名新的表格名稱。(看似有某種快取的影響, 重開Visual Studio就可以了。)

Solution: Restart Visual Studio.