我有一个Razor .cshtml模板,其中包含以下内容:

如你所见,@Model无法解决.
但是,当我使用以下代码解析模板时:
public static string RenderPartialViewToString(string templatePath, string viewName, List<ZonesVM> zonesVm)
{
string text = File.ReadAllText(Path.Combine(templatePath, viewName));
string renderedText = Razor.Parse(text, zonesVm);
return renderedText;
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,我看到我期望在HTML中的结果.
有没有办法让Razor知道@Model在编译之前是什么?
作为参考,我使用的是RazorEngine,而不是普通的MVC Razor.
我一直在研究Windows Phone 8应用程序,我现在想将其更改为Windows Phone 8.1.我怎样才能做到这一点?
我应该创建一个新的Windows Phone 8.1应用程序并将所有现有文件复制到其中吗?或者是否有自动方式将现有解决方案升级到8.1?
我最近将Windows Phone 8应用更新到了Windows Phone 8.1.我正在尝试将一个<DatePicker />控件(Windows Phone 8.1中新增的)添加到XAML中,但它在我的XAML中不可用.
我得到错误:
名称空间"DatePicker"在命名空间" http://schemas.microsoft.com/client/2007 " 中不存在
和
找不到类型'DatePicker'.验证您是否缺少程序集引用,并且已构建所有引用的程序集.
和
XML名称空间" http://schemas.microsoft.com/winfx/2006/xaml/presentation " 中不存在标记"DatePicker "
但是,如果我创建一个新的Windows Phone应用程序,那么DatePicker可用.
此外,我可以通过代码隐藏创建和添加DatePicker,而不是在XAML中.
我已经检查过并且可以确认该项目是针对Windows Phone 8.1的,据我所知,我正在引用正确的程序集:

我需要做什么才能在XAML中使用DatePicker?
我有一个Windows Phone 8.0应用程序,我正在移植到8.1.在8.0中,我依赖BackgroundWorker于执行我不想使用UI线程的任务.
我会创建BackgroundWorker,定义DoWork()委托,然后立即执行RunWorkerAsync()
现在在8.1我不能再使用BackgroundWorker了.相反,我需要创建任务实现IBackgroundTask并使用IBackgroundTrigger运行它们的对象.
看起来我需要跳过很多箍只是为了在不同的线程上运行代码.如果我想立即运行后台任务,我创建一个时间触发的后台任务,新的oneShot TimeTrigger()为0新鲜度分钟?这似乎有点像黑客..
有替代品BackgroundTask吗?我应该以不同的方式接近我的要求吗?
在Windows Phone 8.1应用程序中,我必须按如下方式创建我的套接字.如何更改它以便在我指定的时间段后它会超时?
_socket = new StreamSocket();
await _socket.ConnectAsync(hostName, port.ToString(), SocketProtectionLevel.PlainSocket);
await _socket.InputStream.ReadAsync(frameLenData, frameLenData.Capacity, Windows.Storage.Streams.InputStreamOptions.None);
Run Code Online (Sandbox Code Playgroud)
在我的Windows Phone前代码中,我创建了Socket并通过测试设置超时_event.WaitOne(timeout),例如
timeout = 5000;
_event = new ManualResetEvent(false);
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
bool bOperationFailed = false;
SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs();
socketEventArg.RemoteEndPoint = new DnsEndPoint(address, port);
_event.Reset();
_socket.ReceiveAsync(socketEventArg);
// Wait for completion
if (_event.WaitOne(timeout) == false)
{
Trace.trace("timed out");
return false;
}
Run Code Online (Sandbox Code Playgroud)
我可以设置StreamSocket's 的超时时间ConnectAsync()吗?如果是这样,怎么样?
任何人都可以建议/推荐可用于动态生成可包含高分辨率图像的PDF的产品吗?
我们目前正在使用名为Corda的公司名为Highwire的产品来生成HTML页面的PDF.
Highwire在生成PDF时很糟糕,因为它不符合HTML标准(即它需要表格布局而不是CSS/Div布局).我们必须使用它,因为它能够将高清晰度SVG图像合并到其PDF输出中.
谢谢
戴夫
我正在做一个ASP.NET MVC应用程序,我的一些Action方法和其他扩展方法需要访问用户数据.我用来获取用户的代码是:
this.currentUser = (CurrentUser)HttpContext.Session["CurrentUser"];
//and in the extension methods it's:
CurrentUser user = (CurrentUser)HttpContext.Current.Session["CurrentUser"];
Run Code Online (Sandbox Code Playgroud)
在很多我的控制器中,我的很多Action方法都分散了这一行.问题是这使得测试变得困难,并且看起来并不是非常"优雅".
谁能建议一个好的SOLID方法来解决这个问题?
谢谢
戴夫
如果用户有效,我有以下操作方法,我正在尝试重定向.但没有任何反应.重定向到操作方法中的断点永远不会被击中.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(User user)
{
try
{
if (ModelState.IsValid)
{
if (userRepository.ValidUser(user))
{
return RedirectToAction("Index", "Group");
}
else
{
return Json("Invalid");
}
}
}
catch (Exception)
{
return Json("Invalid");
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个Controller中,我有以下Action方法,我正在尝试重定向到:
// HttpVerbs.Post doesn't work either
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index(int? page)
{
const int pageSize = 10;
IEnumerable<Group> groups = GetGroups();
var paginatedGroups = new PaginatedList<Group>(groups, page ?? 0, pageSize);
return View(paginatedGroups);
}
private IEnumerable<Group> GetGroups()
{
return groupRepository.GetGroups();
}
Run Code Online (Sandbox Code Playgroud)
我正在做的事情有什么明显的错误吗?有人可以建议我采取不同的方法吗?
我有一个场景,用户可以选择单击"下载"按钮,我应该创建一个包含历史数据的csv文件,然后让用户在本地保存文件.由于我之前没有这样做,我开始四处寻找如何做到这一点,并且基本上遇到了自定义视图引擎和自定义操作结果.
我现在的问题是这些的利弊是什么?什么是首选方式?
CSV文件基本上只包含标题和数据(最多约15列/字段),包含几千行.所以没什么特别的.
我问这个问题,提早了业务逻辑和表示逻辑,它让我的思想.我觉得它更容易在代码视图看时,因为我当我看到它是自动的可疑斑可疑的实践.通常它没关系,因为它是表示逻辑,但我总是倾向于仔细观察.
但是当它在HTML帮助器中时,我看起来并不那么接近.其实,我知道,我以前做过,我已经告诉别人的业务逻辑移动到助手.但那是对的吗?
我的猜测是现在,它不是..我想助手的工作是一样的视图的工作.仅限演示.你们有什么感想?
c# ×5
asp.net-mvc ×4
actionresult ×1
asyncsocket ×1
csv ×1
datepicker ×1
html-helper ×1
pdf ×1
razor ×1
svg ×1
viewengine ×1