私はまだASP.NET(Windowsよりもはるかに複雑なプラットフォームであるため、変数は以前所有していたものすべてを「失う」)とクライアントVSの初心者であるため、WinFormsで要求された機能を実現することができました。サーバー、私は自分自身にどこから始めればいいのか尋ねます。
システムリフレクションを使用するWinFormsでは、(現在のフォームに配置されたListViewを介して)
再ポッティングすることができました。ListViewに
は
すべての関数情報(タイミングパラメーターなど)
が入力されますが、Webサイトについて考えることはできません。ListView
アプリケーションを公開する前に失う可能性があるとしても、それをホストします。その代わり、
次のようなことを考えましたが、経験豊富な開発者に確認したいのですが、どのように対応していますbusiness
か?
VisualStudio独自のデバッグ機能に実際に満足できます。
これが私のアプローチです
たとえば、送信ボタンをクリックします
protected void imgBut_Submt_Click(object sender, ImageClickEventArgs e)
{
//debugging and logging via methods that's in a namespace/ classses showed below
SeSn.Modify(Act.Edit,SeSn.CurrentStage, Mod.submitedFreshQuery); <-----=======
App.Add(AppFlags.SubmitButtonWasPressed);<------===========
Display.Show(DV_UsersInTblTime);
tblTimeDataLists.getReportFromSP(Convert.ToInt32(DDL_ChosenBranch.SelectedItem.Value), SelectedReportMonth, SelectedReportYear);
Visibility.Hide(imgBut_Submt);
var m = Request.Form["DDLmonth"];
var y = Request.Form["DDLyear"];
string branchName = GetTableData.AsString(HTDB_Cols.TblBranches.BranchName, HTDB_Tables.TblBranches, HTDB_Cols.TblBranches.BranchID, DDL_ChosenBranch.SelectedItem.Value);
if (tblTimeDataLists.TheresNoRecordForThatSnif(Convert.ToInt32(DDL_ChosenBranch.SelectedItem.Value), Convert.ToInt32(m), Convert.ToInt32(y)))
JsTemplates.Alert(string.Format("No data for {0} at period {1}/{2}", branchName, m, y));
DisplayRepResults();
}
システムセッションデータを「収集」するために私が使用している方法を少し見てみることができます
namespace DebugTests
{
namespace Sesseion
{
public static class SeSn
{
public const string CurrentStage = "CurrStage";
public static bool isNotEmpty()
{
return HttpContext.Current.Session.Keys.Count > 0;
}
public static bool Raised(string FlagName)
{
return GetValueAS.Bool(FlagName);
}
public static void Modify(Act action, string NewQs_paramName, string NewP_Value = "", string CurSes_ParamName = null, bool redirectWithNewQuerySettings = false)
{
switch (action)
{
case Act.Remove:
if (isNotEmpty())
HttpContext.Current.Session.Remove(CurSes_ParamName);
break;
case Act.Replace:
HttpContext.Current.Session.Remove(CurSes_ParamName);
HttpContext.Current.Session.Add(NewQs_paramName, NewP_Value);
break;
case Act.Edit:
HttpContext.Current.Session.Remove(CurSes_ParamName);
HttpContext.Current.Session.Add(CurSes_ParamName, NewP_Value);
break;
case Act.Add:
HttpContext.Current.Session.Add(NewQs_paramName, NewP_Value);
break;
case Act.AddFlag:
HttpContext.Current.Session.Add(NewQs_paramName, true);
break;
}
}
}
public enum Act
{
Edit, Add, AddFlag, Remove, Replace
}
public sealed class SesVals
{
public const string state = "Cstate";
public const string custid = "custid";
public const string recordID = "recordID";
public const string SelectedMonth = "SesMonth";
public const string SelectedChosenWorker = "SesChosenWorkerSelected";
//etc....
}
public sealed class Mod
{
public const string FirstloadeViaLink = "Link",
submitedFreshQuery = "submitedFreshQuery",
canceledInsert = "cancelInsert",
filteredByTable = "filteredByTable",
filterByColumn = "filterByColumn";
//etc....
}
public sealed class App
{
public static void Add(string flagName)
{
Sesseion.SeSn.Modify(Act.AddFlag, flagName);
}
}
public sealed class AppFlags
{
public const string SubmitButtonWasPressed = "SubmitButtonWasPressed";
public const string MainDataSetIsPopulated = "MainDataSetIsPopulated";
public const string HTDB_DisplayCpa_Cols_WasSelected = "HTDBCpa_ColsWasSelected";
//etc....
}
}
}
VS用の追加のプログラム/プラグインを避けたい場合、またはそれらを使用する必要がある場合、これはそれを行う方法ですか?
アプリの操作をどのように管理していますか?