我对设计模式比较陌生,但我觉得我对MVC模式以及这种代码分离带来的优势有了很好的理解.
但是,两次我都看到了MVC模式(Magento和Joomla!),还有一些特殊化,视图由视图类(Magento块)和PHP模板文件组成.如果有人能解释这种分裂的好处,我将不胜感激.
我也不知道如何在视图类和模板文件之间拆分我的代码.有时我发现自己正在编写一个看似冗余的视图类(在Joomla!中),它只是访问模型然后只是为模板提供数据.什么代码应该出现在模板中,哪些代码应该出现在视图类中?
我不知道该怎么称呼它,所以它可能已经被多次解决了.
我有一个集合的包装类:public class TreeCategory<T> : IEnumerable<T>
在我的xaml我使用HierarchicalDataTemplate如下的类:
<HierarchicalDataTemplate x:Key="m_CategoryTemplate"
DataType="{x:Type local:TreeCategory`1}" <--- WHAT IS THIS?!
ItemsSource="{Binding CategoryCollection}" >
<TextBox Text="{Binding CategoryName}" />
</HierarchicalDataTemplate>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,当我使用local:TreeCategory构建构建失败时,因为项目抱怨它不知道类TreeCategory是什么.但是,如果我使用:
TreeCategory`1
Run Code Online (Sandbox Code Playgroud)
那么项目建设很好.
什么是`1,为什么有必要?
我在这里关注教程.它显示了如何绑定到依赖项属性的基本示例.
<Binding ElementName="This" Path="IPAddress" UpdateSourceTrigger="PropertyChanged">
Run Code Online (Sandbox Code Playgroud)
其中"This"是当前窗口的名称:
<Window x:Class="SOTCBindingValidation.Window1" x:Name="This"
Run Code Online (Sandbox Code Playgroud)
无论何时我尝试做这样的事情,我都会遇到同样的错误:
无法找到引用'ElementName = GridControlControl1'的绑定源.BindingExpression:路径= ip地址; 的DataItem = NULL; target元素是'TextBox'(Name ='AddressBox'); target属性是'Text'(类型'String')
我的代码:
<UserControl x:Class="WpfGridtest.GridControl" x:Name="GridControlControl1" ... />
<TextBox x:Name="AddressBox">
<TextBox.Text>
<Binding ElementName="GridControlControl1" Path="IPAddress" UpdateSourceTrigger="PropertyChanged">
</Binding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
partial class GridControl : UserControl
public static readonly DependencyProperty IPAddressProperty = DependencyProperty.Register("IPAddress", typeof(string), typeof(GridControl), new UIPropertyMetadata("1.1.1.1"));
public string IPAddress
{
get { return (string)GetValue(IPAddressProperty); }
set { SetValue(IPAddressProperty, value); }
}
Run Code Online (Sandbox Code Playgroud)
它几乎就像.Net 4.0中发生了变化?
我的错误如下:
'/'应用程序中的服务器错误.
未找到视图"登录"或其主控,或者没有视图引擎支持搜索的位置.搜索了以下位置:
~/Views/User/Login.aspx
~/Views/User/Login.ascx
~/Views/Shared/Login.aspx
~/Views/Shared/Login.ascx
~/Views/User/Login.cshtml
~/Views/User/Login.vbhtml
~/Views/Shared/Login.cshtml
~/Views/Shared/Login.vbhtml^
Run Code Online (Sandbox Code Playgroud)
查看/登录/ Login.cshtml:
@{
ViewBag.Title = "Login";
}
@{
if (!ViewData["uname"].Equals(null) )
{
<div>
Username: @ViewData["uname"]
@Session["uname"] = @ViewData["uname"]
</div>
}
}
<h2>Login</h2>
<h4>Username:</h4>
<input type="text" name="uname" value=" " />
<button />
Run Code Online (Sandbox Code Playgroud)
控制器/ Usercontroller.cs:
public class UserController : Controller
{
//
// GET: /User/
public ActionResult Index()
{
return View();
}
public ActionResult Login()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
Global.asax.cs(仅限方法):
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // …Run Code Online (Sandbox Code Playgroud) 我的目标是将一些点数据插入到 MySQL 数据库中。我用一些虚拟数据填充了数据库,它似乎工作。稍后,我想检索该数据并将其存储在 PHP 变量中,以便我可以发布数据的 html 表。
XY点 P1 1 1 P2 4 2
注意:请不要讨厌“艺术”。
我正在使用以下查询字符串从 MySQL 数据库中检索数据。我已经在基于非点的数据中使用了这段代码并且没有任何问题,事情运行得很好。
$sql = "SELECT * FROM " . $this->tableName . " WHERE `OTHER` = '" . $Otherdata . "' AND `POSITION` = 'POINT(1,1)' LIMIT 0, 30 ";
$query = mysqli_query($connection, $sql) or trigger_error("Query Failed: " . mysql_error());
$row = mysqli_fetch_assoc($query);
//print_r($row);//This is empty, or null...which means my $sql line is wrong too...
$Index = 0;
while ($row = mysqli_fetch_array($query, MYSQL_ASSOC)) {
$this->PositionX[$Index] = …Run Code Online (Sandbox Code Playgroud)