小编Ven*_*emo的帖子

会话对象不更新ASP.NET

我在代码的一个时刻设置了一个会话对象:

Session("my_name") = "Dave"
Run Code Online (Sandbox Code Playgroud)

稍后在我的代码中,我给用户一个更新此对象的机会:

Session("my_name") = TextBox1.Text
Run Code Online (Sandbox Code Playgroud)

我重新加载我的页面并显示一个像这样的小问候:

Label1.Text = "Hello" & CStr(Session("my_name"))
Run Code Online (Sandbox Code Playgroud)

结果是:"Hello Dave"无论我改变Session("my_name")也是如此.

编辑:这是我写的一个完整的代码隐藏演示:

Public Class WebForm1
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Response.Cache.SetCacheability(HttpCacheability.NoCache)
    Response.ExpiresAbsolute = DateTime.Now.AddMonths(-1)
    If Page.IsPostBack = False Then
        Session("my_name") = "Dave"
    End If
    Label1.Text = CStr(Session("my_name"))
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Session("my_name") = TextBox1.Text
End Sub
Run Code Online (Sandbox Code Playgroud)

结束班

.net asp.net session session-variables session-state

7
推荐指数
1
解决办法
6292
查看次数

问:我如何获得当前运行的窗口?

我正在编写一个模拟按键的测试应用程序,我想在每次按键后显示什么窗口.这是代码块.

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 
Run Code Online (Sandbox Code Playgroud)

在这里按0后,会出现一个窗口,我想查看它是什么窗口,以便我可以稍后进行QCompare /评估.

有任何想法吗?

更新:

我使用时遇到分段错误

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 
QWidget *pWin = QApplication::activeWindow();
QCOMPARE(pWin->windowTitle(), QString("My Second Menu"));
Run Code Online (Sandbox Code Playgroud)

c++ user-interface qt unit-testing qtestlib

7
推荐指数
1
解决办法
1万
查看次数

如何在Qt中将数据从一种形式传递到另一种形式?

如何在Qt中将数据从一个表单传递到另一个表单?
我创建了一个QWidgetProgect - > QtGuiApplication,我目前有两种形式.现在我想将数据从一个表单传递到另一个表单.

我怎样才能做到这一点?

谢谢.

qt qt4 qwidget

7
推荐指数
1
解决办法
2万
查看次数

GCC:如何在MCU上完全禁用堆使用?

我有一个在基于ARM Cortex-M的MCU上运行的应用程序,用C和C++编写.我使用gccg++编译它,并希望完全禁用任何堆使用.

在MCU启动文件中,堆大小已经设置为0.除此之外,我还想禁止在代码中使用任何意外的堆.

换句话说,我想接头(和/或编译器),以给我一个错误时malloc,calloc,free功能或new,new[],delete,delete[]运营商使用.

到目前为止,我已经尝试过-nostdlib这样的问题undefined reference to _start.我也尝试过,-nodefaultlibs但是当我试着打电话时,我仍然没有抱怨malloc.这样做的正确方法是什么?

笔记:

  • 这个应用程序运行"裸机",没有操作系统.
  • 我还想避免在第三方代码中使用任何malloc(特定于供应商的库,标准库,printf等).
  • 我完全可以不使用需要动态内存分配的C/C++标准库部分.
  • 我更喜欢编译时而不是运行时解决方案.

heap microcontroller gcc arm g++

7
推荐指数
1
解决办法
1430
查看次数

为什么在arm-none-eabi GCC上`uint32_t`类型定义为`unsigned long`,以及如何更改它?

我正在使用arm-none-eabi-gcc7.4 为基于 ARM Cortex-M4 的微控制器(特别是 EFM32WG940,但这应该与问题无关)编译“裸机”程序。

据我所知,sizeof(int)sizeof(long int)与未签名的对应物一起都是4. 实际上,您必须输入long long int才能获取 64 位整数(或int64_t),因此long int似乎完全是多余的。

在这种环境下,为什么__UINT32_TYPE__ 预定义宏定义为long unsigned int

有没有办法改变uint32_tunsigned int

通常这不会困扰我,但它会让printf我感到困难,因为-Wformat。考虑类似:(printf("hello %u\n", i);假设iuint32_t)这给了我一个警告,因为%u期望unsigned但是uint32_tunsigned long。显然我可以将其更改为%lu,但在 x86 上编译时相同的代码会给我一个警告。

编辑:

是的,一种沉默的方法-Wformat是使用这样的格式宏:虽然实际上并没有回答我的问题,但如果代码不是那么丑陋,并且一些静态分析器没有问题,那将是最好的。inttypes.hprintf("hello %" PRIu32, i);

我不想破解我所有的 …

c gcc arm cortex-m

7
推荐指数
1
解决办法
6196
查看次数

如何使用ASP.NET重定向到另一个页面?

我知道这是一个简单的问题,但我真的在Google上找不到任何东西.对不起,如果我没有正确搜索.我创建了2页,在第一页中我有一个按钮.
我应该在C#代码中写什么来改变以在第二页上重定向我?
我通常知道我在C#的方式,但我是ASP的新手.

.net c# asp.net button

6
推荐指数
1
解决办法
4万
查看次数

Qt Creator自动生成的垃圾(文件)的目的是什么,我该如何驯服它们?

我是Qt的新手,我正在使用新的诺基亚Qt SDK测试版,我正在努力在我的空闲时间为我的诺基亚N900开发一个小应用程序.
幸运的是,我能够正确设置所有内容,并在设备上运行我的应用程序.

我在学校学过C++,所以我觉得它不会那么难.
我使用Qt Creator作为我的IDE,因为它不能与Visual Studio一起使用.

我也希望将我的应用程序移植到Symbian,所以我已经运行了几次模拟器,我也编译Windows以调试最邪恶的错误.(调试器在设备上无法正常工作.)

我来自.NET背景,所以有一些我不理解的东西.

当我点击构建按钮时,Qt Creator会在我的项目目录中生成一堆文件:

  • moc_*.cpp文件 - 我不知道他们的目的.有人能告诉我吗?
  • *.o 文件 - 我认为这些是目标代码
  • *.rss 文件 - 我不知道他们的目的,但他们肯定与RSS没有任何关系
  • Makefile而且Makefile.Debug- 我不知道
  • AppName(没有扩展名) - Maemo的可执行文件,以及AppName.sis- Symbian的可执行文件,我想?
  • AppName.loc - 我不知道
  • AppName_installer.pkg而且AppName_template.pkg- 我不知道
  • qrc_Resources.cpp - 我想这是我的Qt资源

(AppName相关申请的名称在哪里)

我注意到这些文件可以安全删除,Qt Creator只是重新生成它们.
问题是它们污染了我的源目录.特别是因为我使用版本控制,如果它们可以重新生成,则将它们上传到SVN是没有意义的.

那么,有人可以告诉我这些文件的确切目的是什么,以及如何让Qt Creator将它们放入另一个目录?

编辑:

似乎我从这个问题的答案中学到了比我想象的更多.:)
非常感谢帮助我的每个人.我给了每个人一个upvote,因为我可以从每个答案中学到新东西.

实际上,Rob推荐的似乎是最方便的解决方案,但我接受了Kotti的回答,因为他为Qt的构建机制如何运作提供了最好的解释.

解决方案:

似乎Maemo和Symbian工具链都没有支持阴影构建,所以我在我的项目文件中使用这些来解决这种情况:

DESTDIR = ./NoSVN
OBJECTS_DIR = ./NoSVN
MOC_DIR = ./NoSVN
RCC_DIR = ./NoSVN
UI_HEADERS_DIR = ./NoSVN
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qt-creator qt-maemo

6
推荐指数
2
解决办法
1842
查看次数

从请求中接受预定义的一组无害HTML标记有多安全?

我作为Web开发人员学到的第一件事就是永远不会接受来自客户端的任何HTML.(也许只有我对它进行HTML编码.)
我使用输出HTML的WYSIWYG编辑器(TinyMCE).到目前为止,我只在管理页面上使用它,但现在我也想在论坛上使用它.它有一个BBCode模块,但似乎不完整.(BBCode本身可能不支持我想要的所有内容.)

所以,这是我的想法:

我允许客户端直接POST一些HTML代码.然后,我检查代码的完整性(良好格式)并删除所有基于预定义的允许标记和样式集不允许的标记,属性和CSS规则.
显然我会允许我使用的TinyMCE功能子集可以输出的东西.

我会允许以下标签:
span,sub,sup,a,p,ul,ol,li,img,strong,em,br

具有以下属性:
style(一切),href以及title(对于a),altsrc(对img)

而下面的CSS规则:
color,font,font-size,font-weight,font-style,text-decoration

这些内容涵盖了格式化所需的所有内容,并且(据我所知)不会带来任何安全风险.基本上,良好的执行和缺乏任何布局样式可以防止任何人伤害网站的布局.禁止脚本标记和类似内容会阻止XSS.
(一个例外:也许我应该允许width/ height在图像的预定义范围内.)

其他优点:这些东西可以节省我编写/寻找BBCode-Html转换器的需要.

你怎么看?
这是安全的事吗?

(正如我所见,StackOverflow还允许在"关于我"字段中使用一些基本的HTML,所以我认为我不是第一个实现它的人.)

编辑:

我找到了这个答案,解释了如何相当容易地做到这一点.
当然,没有人应该考虑使用正则表达式.

问题本身与任何语言或技术无关,但如果您想知道,我在ASP.NET中编写此应用程序.

html tags security tinymce

6
推荐指数
1
解决办法
451
查看次数

C++中的覆盖函数不起作用

#include <cstdio>
using namespace std;

class A {
public:
    virtual void func() { printf("A::func()"); }
};

class B : public A {
public:
    virtual void func() { printf("B::func()"); }
};

int main() {
  A a = *(A *)new B();
  a.func();
}
Run Code Online (Sandbox Code Playgroud)

问题很简单:为什么即使包含B类对象,也要a->func()调用类中的函数?Aa

c++ polymorphism inheritance overriding function

6
推荐指数
3
解决办法
1663
查看次数

IAR可以生成GCC可以链接到的静态库吗?

有一个供应商的软件,我想与之合作.他们有一个代码库,他们只能使用IAR Embedded Workbench进行编译(据我所知,他们的代码不能用GCC编译).不幸的是,他们的硬件仅适用于他们的软件堆栈,所以我真的无法选择是否要使用它.它们将此代码分发.a为为ARM Cortex-M4 CPU编译的静态库文件(以及随附的标头).(他们不想分发来源.)为了这个讨论,让我们称之为evil_sw_stack.a.

我想使用这段代码,但我没有IAR许可证,对IAR没有专业知识.我想使用GCC.

有没有办法让IAR生成GCC可以链接到的静态库?供应商需要使用哪种编译器选项来生成这样的二进制文件?
(我猜测得到的二进制文件的ABI可以某种方式指定并设置为满足GCC的设置.)

GCC的示例用法

他们的默认软件堆栈非常适合GCC,这个特定的软件堆栈是他们提供的唯一一个不是.通常,如果我有以下内容,我可以编译一段简单的示例代码:

  • startup_(devicename).S:GCC特定的程序集文件
  • system_(devicename).c
  • (devicename).ld:链接器脚本
  • 某些特定设备的头文件

例如,我可以编译一个简单的例子,如下所示:

$ arm-none-eabi-gcc helloworld.c startup_(devicename).S system_(devicename).c -T (devicename).ld -o helloworld -D(devicename) -I. -fno-builtin -ffunction-sections -fdata-sections -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mcpu=cortex-m4 -mthumb -mno-sched-prolog -Wl,--start-group -lgcc -lc -lnosys -Wl,--end-group
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.没有警告,没有错误.

我如何尝试使用静态库

为了这个讨论,让我们称之为evil_sw_stack.a.
这就是我尝试使用它的方式:

$ arm-none-eabi-gcc evil_sw_stack.a helloworld.c startup_(devicename).S system_(devicename).c -T (devicename).ld -o helloworld -D(devicename) -I. -fno-builtin -ffunction-sections -fdata-sections -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mcpu=cortex-m4 -mthumb -mno-sched-prolog -Wl,--start-group -lgcc -lc -lnosys -Wl,--end-group
Run Code Online (Sandbox Code Playgroud)

不幸的是,这抱怨了一系列定义的函数的多个定义system_(devicename).c.也许他们不小心把它编成了这个库?或者也许IAR只是这样编译?现在,如果我尝试system_(devicename).c …

interop arm static-libraries gnu-toolchain iar

6
推荐指数
0
解决办法
2779
查看次数