好的,我对这个问题有几个问题,我希望这次我更清楚.
我想在转发器控件中找到许多下拉控件的值.我最终想要构建一个多维数组,因此我可以遍历每个项目并将它们添加到数据库表中.
<asp:Repeater ID="myRepeater" runat="server">
<ItemTemplate>
<asp:DropDownList ID="AdTitle" runat="server">
<asp:ListItem Selected="True" Value="" Text=""/>
<asp:ListItem Selected="False" Value="Miss" Text="Miss"/>
<asp:ListItem Selected="False" Value="Ms" Text="Ms"/>
<asp:ListItem Selected="False" Value="Mrs" Text="Mrs"/>
<asp:ListItem Selected="False" Value="Mr" Text="Mr"/>
<asp:ListItem Selected="False" Value="Other" Text="Other"/>
</asp:DropDownList>
<asp:TextBox ID="AdFullName" runat="server"></asp:TextBox>
</ItemTemplate>
<ItemTemplate>
<asp:DropDownList ID="AdTitle" runat="server">
<asp:ListItem Selected="True" Value="" Text=""/>
<asp:ListItem Selected="False" Value="Miss" Text="Miss"/>
<asp:ListItem Selected="False" Value="Ms" Text="Ms"/>
<asp:ListItem Selected="False" Value="Mrs" Text="Mrs"/>
<asp:ListItem Selected="False" Value="Mr" Text="Mr"/>
<asp:ListItem Selected="False" Value="Other" Text="Other"/>
</asp:DropDownList>
<asp:TextBox ID="AdFullName" runat="server"></asp:TextBox>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)
我从一位朋友那里听说微软再次重写了所有Windows Workflow Foundation(WF)并改变了所有内容.Net 3.5.
真的吗?
那么我们在3.0和3.5中了解了WF的情况呢?
我正在使用Visual C++ 2005中的MFC对话框应用程序.我的单选按钮是m_Small,m_Medium和m_Large.它们都没有在我的m_Summary编辑框中显示它们应该显示的内容.可能有什么不对?
这是我的代码.
// Pizza_ProgramDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Pizza_Program.h"
#include "Pizza_ProgramDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
// CPizza_ProgramDlg dialog
CPizza_ProgramDlg::CPizza_ProgramDlg(CWnd* pParent /*=NULL*/)
: …Run Code Online (Sandbox Code Playgroud) 我在许多应用程序中使用了以下代码来加载暴露插件的.DLL程序集.
但是,我以前总是关注功能而不是安全性.
我现在计划在Web应用程序上使用此方法,该应用程序可供我以外的组使用,并且我希望确保该功能的安全性是最好的.
private void LoadPlugins(string pluginsDirectory)
{
List<IPluginFactory> factories = new List<IPluginFactory>();
foreach (string path in Directory.GetFiles(pluginsDirectory, "*.dll"))
{
Assembly assembly = Assembly.LoadFile(path);
foreach (Type type in assembly.GetTypes())
{
IPluginEnumerator instance = null;
if (type.GetInterface("IPluginEnumerator") != null)
instance = (IPluginEnumerator)Activator.CreateInstance(type);
if (instance != null)
{
factories.AddRange(instance.EnumerateFactories());
}
}
}
// Here, I would usually collate the plugins into List<ISpecificPlugin>, etc.
}
Run Code Online (Sandbox Code Playgroud)
我头几个问题:
我应该担心还有其他安全问题吗?
编辑:请记住,我希望任何人能够编写插件,但我仍然希望是安全的.
我正在研究一个项目,该项目将(很快)分为多个不同的版本(试用版,专业版,企业版等).
我一直在使用Subversion,因为它首次发布(之前是CVS),所以我对分支和标签的抽象概念感到满意.但在我的所有开发经验中,我只是真正研究过中继代码.在少数情况下,一些其他开发人员(拥有存储库)要求我对某个分支进行更改,我只是做了他要求我做的任何事情.我认为"合并"一种奇怪的黑色艺术,我只是在仔细监督下尝试过.
但在这种情况下,我负责存储库,这种事情对我来说是全新的.
绝大多数代码将在所有产品之间共享,因此我假设代码将始终驻留在trunk中.我还假设每个版本都有一个分支,每个产品的发布版本都有标签.
但除此之外,我不太了解,而且我确信有一千零一种不同的方法来搞砸它.如果可能的话,我想避免搞砸它.
例如,假设我想为专业版和企业版开发一个新功能,但我想从演示版中排除该功能.我怎么做到这一点?
在我的日常开发中,我还假设我需要在工作时将开发快照从分支切换到分支(或返回到主干).以最小化混淆的方式,最好的方法是什么?
您建议的其他策略,指南和提示是什么?
更新:
好吧,那好吧.
看起来分支根本不是正确的策略.所以我改变了问题的标题,以消除"分支"焦点,我正在扩大问题.
我想我的其他一些选择是:
1)我总是可以分发具有所有功能的完整版软件,并使用许可证根据许可证中的授权有选择地启用和禁用功能.如果我采用这种方式,我可以想象一个老鼠的if/else块嵌套调用某种单独的"许可证管理器"对象.在这样的情况下,避免代码意味着什么的最佳方法是什么?
2)我可以使用依赖注入.但一般来说,我讨厌它(因为它将逻辑从源代码转移到配置文件中,这使得项目更难以理解).即便如此,我仍在发布完整的应用程序并在运行时选择功能.如果可能,我宁愿不将企业版二进制文件分发给演示用户.
3)如果我的平台支持条件编译,我可以使用#IFDEF块并构建标志来有选择地包含功能.这适用于像整个GUI面板这样的大而粗糙的功能.但是,对于较小的跨领域音乐会,例如日志记录还是统计跟踪呢?
4)我正在使用ANT构建.是否有像ANT的构建时依赖注入?
我有一个函数将文件提取到字节数组(数据).
int contentLength = postedFile.ContentLength;
byte[] data = new byte[contentLength];
postedFile.InputStream.Read(data, 0, contentLength);
Run Code Online (Sandbox Code Playgroud)
后来我使用这个字节数组来构造一个System.Drawing.Image对象(其中data是字节数组)
MemoryStream ms = new MemoryStream(data);
Image bitmap = Image.FromStream(ms);
Run Code Online (Sandbox Code Playgroud)
我得到以下异常"ArgumentException:参数无效."
原始发布的文件包含500k jpeg图像...
任何想法为什么这不起作用?
注意:我向你保证我有一个有效的理由转换为字节数组然后转换为内存流!!
我在黑色UIToolbar上有一个UISegmentedControl.我已将样式设置为Bar并将背景颜色设置为clear(也尝试为黑色).我已经尝试将tintColor设置为clear(也尝试黑色).我的按钮变黑,以匹配黑色UIToolbar.但是,按钮不再像UISegmentedControl是默认的蓝色/灰色那样表示点击状态.我该怎么做才能使按钮显示黑/灰点击状态?请告诉我.到目前为止用于设置UISegmentedControl颜色的代码:
viewTypeSelection.segmentedControlStyle = UISegmentedControlStyleBar;
viewTypeSelection.backgroundColor = [UIColor clearColor];
Run Code Online (Sandbox Code Playgroud) 我有一个二进制文件和一个共享库.共享库编译为:
all:
g++ -g -shared -fpic $(SOURCES) -o libmisc.so
Run Code Online (Sandbox Code Playgroud)
二进制编译用:
LIBS=-L../../misc/src
LDFLAGS=-lmisc
all:
g++ -g -o mainx $(INCLUDE) $(SOURCE) $(LIBS) $(LDFLAGS)
Run Code Online (Sandbox Code Playgroud)
我开始了 ~/.bashrc
export LD_LIBRARY_PATH=/mnt/sda5/Programming/misc/src/
Run Code Online (Sandbox Code Playgroud)
到libmisc.so输出路径.
从控制台调试工作正常:
gdb mainx
Run Code Online (Sandbox Code Playgroud)
但是从Emacs22启动gdb失败,并显示以下消息:
启动程序:/ mnt/sda5 /编程/ main/src/mainx/mnt/sda5 /编程/ main/src/mainx:加载共享库时出错:libmisc.so:无法打开共享对象文件:没有这样的文件或目录
这一刻看起来很棘手,我无法解决它.我不确定这是否是emacs的问题,或者我应该在gdb的命令行中传递一个参数.