0

現在、新しい Umbraco ドキュメントを作成しようとしています。次に、文字列 Rid のクエリを要求し、コードを実行します (ページの ID が検出され、正しく表示されることを願っています) が、参照要求を呼び出すことができません。 asp.net ユーザー コントロールです。非静的フィールド、メソッド、またはプロパティ「System.Web.Ui.UserControl.Request.get」にはオブジェクト参照が必要ですというエラーが表示されます

エラーの原因 (リクエストが認識されない)

 Document rDoc = new Document(Convert.ToInt32(Request.QueryString["rid"]));

何か案は?コードは以下です。考えられる改善点や、このコードが機能しない理由がある場合は、説明をいただければ幸いです。

私の含まれるものには...

<%@Import Namespace="System.Net" %>
<%@Import Namespace="Newtonsoft.Json" %>
<%@Import Namespace="System.Web"%>
<%@Import Namespace="System.Web.Script.Serialization"%>
<%@Import Namespace="System.IO" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.SqlClient" %>
<%@Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.ComponentModel" %>


<%--Umbraco Includes--%>
<%@ Import Namespace="umbraco.cms.businesslogic" %>
<%@ Import Namespace="umbraco.cms.businesslogic.web" %>
<%@ Import Namespace="umbraco.cms.businesslogic.member" %>


  static void Main(string[] args)
        {

            //Hashtable sqlDatatypeholder = new Hashtable();
            Dictionary<string, string> sqlDatatypeholder = new Dictionary<string, string>();
            DataTable tempTable = new DataTable();
            string SheetToPopulate = "";

            //Sql Connection      
            string _mySqlUrl = "sqlurl;";

            string _mySqlQuery = "query;";

            Document rDoc = new Document(Convert.ToInt32(Request.QueryString["rid"]));

            SqlConnection conn = new SqlConnection(_mySqlUrl);

            using (conn)
            {
                SqlCommand command = new SqlCommand(_mySqlQuery, conn);
                conn.Open();

                SqlDataReader reader = command.ExecuteReader();
                DataTable schemaTable = reader.GetSchemaTable(); //stores datatypes from sql
                tempTable.Load(reader); //stores data rows from sql
                reader.Close();

                //we need at least two date datatype fields for the sheet to be viewed in Gantt Chart view (smartsheet API rule), so everytime the date format is found, set to DATE

                if (tempTable != null && tempTable.Rows.Count > 0)
                {
                    foreach (DataRow row in schemaTable.Rows)
                    {
                        sqlDatatypeholder.Add(row["ColumnName"].ToString(), row["DataTypeName"].ToString());
                    }

                }
                else
                {
                    Console.WriteLine("Connection Open - No rows found.");
                    Console.ReadLine();
                }
            }
            SheetToPopulate = CreateSmartSheetFromDictionary(HashtableToDictionary(sqlDatatypeholder), tempTable);

            // Console.WriteLine(SheetToPopulate);
            PopulateSmartSheetRows(SheetToPopulate, tempTable);
            // Console.WriteLine("Sheet Populated");
            //Console.ReadLine();
        }
4

0 に答える 0