在asp.net中,如何斷行符號觸發指定按鈕的事件?
假設:
<asp:TextBox id="TextBox1" runat="server" Width="240px"></asp:TextBox>
<asp:Button id="ButtonOK" runat="server" BorderWidth="1px" BorderColor="Purple" BorderStyle="Solid" Text="Search Site"></asp:Button>
解決方案:
在.aspx頁面中添加:
<SCRIPT LANGUAGE="javascript">
function EnterKeyClick(button)
{
if (event.keyCode == 13)
{
event.keyCode=9;
event.returnValue = false;
document.all[button].click();
}
}
</SCRIPT>
在Page_Load事件中添加:
TextBox1.Attributes.Add("onkeydown","EnterKeyClick('ButtonOK');");
關於DATAGRID資料更改時點2次/行號跟不準/失去焦點/丟失e等一系列問題的解決辦法:
首先把資料連線/dataadater等資訊全放到void bindgrid中,其他地方不用if(!ISPOSTBACK),在PAGELOAD的時候只用個
if (!IsPostBack)
{
BindGrid();
}
---------------------------------------------------------------------------------
例如: private void Page_Load(object sender, System.EventArgs e)
{ if (!IsPostBack)
{BindGrid();}
}
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindGrid();
}
private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ DataGrid1.EditItemIndex = -1;
BindGrid();
}
void BindGrid()
{ oleDbDataAdapter1.Fill(dataSet11);
DataGrid1.DataBind();
}
在ASP.NET+ORACLE添加資料記錄並讓ID自動增量
在ASP.NET+ORACLE添加資料記錄並讓ID自動增量需要在ORACLE中設序列和觸發器即可,切記不是索引,ASP.NET中不管ID,具體如下:
1、建立序列:
CREATE SEQUENCE seq_emergency_id
NOCYCLE
MAXVALUE 9999999999
START WITH 2;
2、建立觸發器:
CREATE OR REPLACE TRIGGER set_emergency_id
BEFORE INSERT ON "EMERGENCY"
FOR EACH ROW
DECLARE
next_emergency_id NUMBER;
BEGIN
--Get the next emergency id from the sequence
SELECT seq_emergency_id.NEXTVAL
INTO next_emergency_id
FROM dual;
--use the sequence number as the primary key
--for the record being inserted
:new.id := next_emergency_id;
END;
如果在企業管理器中建立,在觸發器說明中填:
DECLARE
next_emergencycb_id NUMBER;
BEGIN
--Get the next id number from the sequence
SELECT seq_emergencycb_id.NEXTVAL
INTO next_emergencycb_id
FROM dual;
--use the sequence number as the primary key
--for the record being inserted
:new.id := next_emergencycb_id;
END;
自己總結的常用ORACLE Text 文本檢索
ORACLE Text 文本檢索:(先要建立CONTEXT或CTXCAT索引,然後如下)(還可以在from前加,SCORE(10)來觀察檢索到的項目的得分)
1.單詞的精確匹配檢索
select cbid,title(列名) from emergency(表名) where contains(title,'關於')>0; 是從title中檢索含詞“關於”的cbid和title欄位。
2.多個單詞精確匹配
select cbid,title form emergency where contains(title,'關於 AND 請示')>0;是從title中檢索含詞“關於”和“請示”的上述欄位。
也可select cbid,title form emergency where contains(title,'關於 AND 請示',NULL)>0;意思同上,不是檢索短語而是兩個單詞,注意!
3.短語精確匹配
select cbid,title(列名) from emergency(表名) where contains(title,'doctor visits',NULL)>0;將精確匹配doctor visits短語
如果要用AND,OR,MINUS等保留字,應該使用轉義符{},如doctor {and} visits
4.搜尋互相接近的詞語
select cbid,title(列名) from emergency(表名) where contains(title,'關於 NEAR 請示')>0;
select cbid,title(列名) from emergency(表名) where contains(title,'NEAR((關於,請示),10)')>0; 是指指定的兩個詞在10個詞之內
5.在搜尋中使用萬用字元(多字元萬用字元是%,單字元萬用字元是-)
select cbid,title(列名) from emergency(表名) where contains(title,'worker%')>0;是檢索worker開頭的單詞,單字通配最多擴充3字元
6.模糊比對搜尋
select cbid,title(列名) from emergency(表名) where contains(title,'?關於')>0; (前面得加一個問號)
7.使用ABOUT運算子來搜尋文檔的主題
select cbid,title form emergency where contains(title,'ABOUT(房屋)',NULL)>0;
注意以上如果是用CONTEXT索引時,基表更新時文本索引並不更新,為了使索引同步,應該執行CTX_DLL程式包的SYNC_INDEX過程如下:
EXECUTE CTX_DLL.SYNC_INDEX('REVIEW_INDEX');
C#委託的具體實現方法
(此處用無傳回值的委託,如用有傳回值的不同):
public delegate void processdelegate();//定義一個委託,一般不用pubic
public void chuli()//定義委託的匹配簽名(事件處理)
{
Response.Write("aaaaaaaaaa");
}
在調用的時候先初始化委託並用new建立一個新委託然後將函數引用(事件處理)賦予委託變數或委託,執行委託
private void Button2_Click(object sender, System.EventArgs e)
{
processdelegate process;
process=new processdelegate(chuli);
// Response.Write("Result:{0}",process(param1,param2));//有傳回值的一般這樣執行
process();//無傳回值的一般這樣執行
}