該如何拆分
<script language="c#" runat="server">
void loglog(object sender, EventArgs e)
{
string Path = @"D:\log\log.txt";
if (!System.IO.File.Exists(Path))
{
System.IO.FileStream f = System.IO.File.Create(Path);
f.Close();
f.Dispose();
}
System.IO.StreamWriter f2 = new System.IO.StreamWriter(Path, true,
System.Text.Encoding.GetEncoding("gb2312"));
f2.WriteLine(Request["st"].ToString());
f2.Close();
f2.Dispose();
}
</script>
onclick="loglog"要呼叫這個方法/函式的,我開頭想的是把定義去掉,然后把每句都拆成<%%>格式,但是這樣的話下面的onclick就沒法呼叫了,然后onclick="loglog"里面又不能寫<%%>。寫進ASPX里是因為沒有.CS檔案,沒有原始碼,但是我只要添加一個功能就夠了,dll已經編譯了,反編譯的話好像要整個系統都反編譯,沒法弄。
還有<script language="c#" runat="server"></script>這個語法在本地的demo頁面上可以運行,但是在服務器的大系統里面就不行(瀏覽器頁面加載沒問題,按按鈕不記錄資訊,也就是不執行loglog,按F12錯誤資訊:
log_lee.aspx:765 Uncaught ReferenceError: loglog is not defined at HTMLInputElement.onclick),也不知道為什么,是不是按鈕控制元件沒讀到上面頁面里的代碼啊,方法前面加了public還是這個錯誤,is not defined沒有定義,可是我明明定義了呀。static的話Request這里又報錯,CS0120物件參考對于非靜態的欄位、方法或屬性“Page.Request”是必需的。加了Control.Page.又不行。。。我上網查了好久,這個關于未定義的錯誤代碼都是關于JS的,但是我這個是C#的。這個實在是千古之謎,弄了好久了,就是想不通為什么,關于這個行內代碼語法的問題,我可能會另開一個帖子,我要搞懂它為什么不行。可別嫌我啰嗦,很多人就是搞不明白我在說什么。
之前有個帖子https://bbs.csdn.net/topics/399167291有人說是語法錯誤,必須使用<%%>那個格式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/278713.html
標籤:ASP.NET
